Cloud Storage Avro 到 Bigtable 範本是一種管道,可從 Cloud Storage 值區中的 Avro 檔案讀取資料,並將資料寫入 Bigtable 資料表。您可以使用這個範本將資料從 Cloud Storage 複製到 Bigtable。
管道相關規定
- Bigtable 資料表必須存在,並且與從 Avro 檔案中匯出的內容具有相同的資料欄系列。
- 在執行管道之前,輸入 Avro 檔案必須存在於 Cloud Storage 值區中。
- Bigtable 預期輸入 Avro 檔案採特定 結構定義。
範本參數
必要參數
- bigtableProjectId:包含要寫入資料的 Bigtable 執行個體的 Google Cloud 專案 ID。
- bigtableInstanceId:包含資料表的 Bigtable 執行個體 ID。
- bigtableTableId:要匯入的 Bigtable 資料表 ID。
- inputFilePattern:資料存放位置的 Cloud Storage 路徑模式,例如:
gs://<BUCKET_NAME>/FOLDER/PREFIX*。
選用參數
- splitLargeRows:這個旗標用於啟用將大型資料列分割成多個 MutateRows 要求。請注意,如果將大型資料列拆分成多個 API 呼叫,資料列的更新作業就不是不可分割。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。 前往「依範本建立工作」
- 在「Job name」(工作名稱) 欄位中,輸入不重複的工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1。如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取 the Avro Files on Cloud Storage to Cloud Bigtable template。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Avro_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
更改下列內容:
JOB_NAME: 您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest使用最新版範本,該範本位於值區中非依日期命名的上層資料夾: gs://dataflow-templates-REGION_NAME/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在值區中相應的依日期命名上層資料夾中:gs://dataflow-templates-REGION_NAME/
REGION_NAME:您要部署 Dataflow 工作的區域,例如us-central1BIGTABLE_PROJECT_ID:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 IDINSTANCE_ID:包含資料表的 Bigtable 執行個體 IDTABLE_ID:要匯出的 Bigtable 資料表 IDINPUT_FILE_PATTERN:資料存放位置的 Cloud Storage 路徑模式,例如gs://mybucket/somefolder/prefix*
API
如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 projects.templates.launch。
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Avro_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "environment": { "zone": "us-central1-f" } }
更改下列內容:
PROJECT_ID: 您要執行 Dataflow 工作的 Google Cloud 專案 IDJOB_NAME: 您選擇的不重複工作名稱VERSION:您要使用的範本版本您可以使用下列值:
latest使用最新版範本,該範本位於值區中非依日期命名的上層資料夾: gs://dataflow-templates-REGION_NAME/latest/- 版本名稱,例如
2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在值區中相應的依日期命名上層資料夾中:gs://dataflow-templates-REGION_NAME/
LOCATION:您要部署 Dataflow 工作的區域,例如us-central1BIGTABLE_PROJECT_ID:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 IDINSTANCE_ID:包含資料表的 Bigtable 執行個體 IDTABLE_ID:要匯出的 Bigtable 資料表 IDINPUT_FILE_PATTERN:資料存放位置的 Cloud Storage 路徑模式,例如gs://mybucket/somefolder/prefix*
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。