「AstraDB 到 BigQuery」範本是一個批次管道,可從 AstraDB 讀取記錄並寫入 BigQuery。
如果 BigQuery 中沒有目的地資料表,管道會建立具有下列值的資料表:
Dataset ID
,繼承自 Cassandra 鍵空間。- 這個值會從 Cassandra 資料表繼承。
Table ID
系統會根據來源 Cassandra 資料表推斷目的地資料表的結構定義。
List
和Set
會對應至 BigQueryREPEATED
欄位。Map
對應至 BigQueryRECORD
欄位。- 所有其他類型都會對應至具有相應類型的 BigQuery 欄位。
- 不支援 Cassandra 使用者定義型別 (UDT) 和元組資料型別。
管道相關規定
- 具有權杖的 AstraDB 帳戶
範本參數
必要參數
- astraToken:權杖值或密鑰資源 ID。例如:
AstraCS:abcdefghij
。 - astraDatabaseId:資料庫專屬 ID (UUID)。例如:
cf7af129-d33a-498f-ad06-d97a6ee6eb7
。 - astraKeyspace:Astra 資料庫中的 Cassandra 鍵空間名稱。
- astraTable:Cassandra 資料庫中的資料表名稱。例如:
my_table
。
選用參數
- astraQuery:用於篩選資料列的查詢,而非讀取整個資料表。
- astraDatabaseRegion:如果未提供,系統會選擇預設值,這對多區域資料庫很有用。
- minTokenRangesCount:用於分配查詢的分割數下限。
- outputTableSpec:用於寫入輸出內容的 BigQuery 資料表位置。請使用
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
格式。資料表的結構定義必須與輸入物件相符。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。 前往「依據範本建立工作」
- 在「工作名稱」欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1
。如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the AstraDB to BigQuery template。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/AstraDB_To_BigQuery \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ astraToken=ASTRA_TOKEN,\ astraDatabaseId=ASTRA_DATABASE_ID,\ astraKeyspace=ASTRA_KEYSPACE,\ astraTable=ASTRA_TABLE,\
更改下列內容:
JOB_NAME
: 您選擇的不重複工作名稱VERSION
: 您要使用的範本版本您可以使用下列值:
latest
,使用範本的最新版本,該版本位於值區中非依日期命名的上層資料夾:gs://dataflow-templates-REGION_NAME/latest/- 版本名稱 (例如
2023-09-12-00_RC00
),用於指定範本版本,該版本會以巢狀結構存放在值區中依日期命名的上層資料夾中:gs://dataflow-templates-REGION_NAME/
REGION_NAME
: 您要部署 Dataflow 工作的地區,例如us-central1
ASTRA_TOKEN
:Astra 權杖ASTRA_DATABASE_ID
:資料庫 IDASTRA_KEYSPACE
:Cassandra 鍵空間ASTRA_TABLE
:Cassandra 資料表
API
如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 projects.templates.launch
。
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "astraToken": "ASTRA_TOKEN", "astraDatabaseId": "ASTRA_DATABASE_ID", "astraKeyspace": "ASTRA_KEYSPACE", "astraTable": "ASTRA_TABLE", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/AstraDB_To_BigQuery", "environment": { "maxWorkers": "10" } } }
更改下列內容:
PROJECT_ID
: 您要執行 Dataflow 工作的專案 ID Google CloudJOB_NAME
: 您選擇的不重複工作名稱VERSION
: 您要使用的範本版本您可以使用下列值:
latest
,使用範本的最新版本,該版本位於值區中非依日期命名的上層資料夾:gs://dataflow-templates-REGION_NAME/latest/- 版本名稱 (例如
2023-09-12-00_RC00
),用於指定範本版本,該版本會以巢狀結構存放在值區中依日期命名的上層資料夾中:gs://dataflow-templates-REGION_NAME/
LOCATION
: 您要部署 Dataflow 工作的地區,例如us-central1
ASTRA_TOKEN
:Astra 權杖ASTRA_DATABASE_ID
:資料庫 IDASTRA_KEYSPACE
:Cassandra 鍵空間ASTRA_TABLE
:Cassandra 資料表
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。