Cloud Storage Parquet 到 Bigtable 範本

Cloud Storage Parquet 到 Bigtable 範本是一種管道,可從 Cloud Storage 值區中的 Parquet 檔案讀取資料,並將資料寫入 Bigtable 資料表。您可以使用這個範本將資料從 Cloud Storage 複製到 Bigtable。

管道相關規定

  • Bigtable 資料表必須存在,並且與從 Parquet 檔案中匯出的內容具有相同的資料欄系列。
  • 在執行管道前,輸入的 Parquet 檔案必須存在於 Cloud Storage 值區中。
  • Bigtable 預期輸入 Parquet 檔案採特定 結構定義

範本參數

必要參數

  • bigtableProjectId:與 Bigtable 執行個體相關聯的 Google Cloud 雲端專案 ID。
  • bigtableInstanceId:包含資料表的 Cloud Bigtable 執行個體 ID。
  • bigtableTableId:要匯入的 Bigtable 資料表 ID。
  • inputFilePattern:包含資料的檔案所在的 Cloud Storage 路徑。例如:gs://your-bucket/your-files/*.parquet

選用參數

  • splitLargeRows:這個旗標用於啟用將大型資料列分割成多個 MutateRows 要求的作業。請注意,如果大型資料列在多個 API 呼叫之間分割,資料列的更新作業就不是不可分割。

執行範本

控制台

  1. 前往 Dataflow 的「Create job from template」(依據範本建立工作) 頁面。
  2. 前往「依範本建立工作」
  3. 在「Job name」(工作名稱) 欄位中,輸入專屬工作名稱。
  4. 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為 us-central1

    如需可執行 Dataflow 工作的區域清單,請參閱「Dataflow 位置」。

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取「Parquet Files on Cloud Storage to Cloud Bigtable」(Cloud Storage 中的 Parquet 檔案至 Cloud Bigtable) 範本。
  6. 在提供的參數欄位中輸入參數值。
  7. 按一下「Run Job」(執行工作)

gcloud

在殼層或終端機中執行範本:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/ \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

更改下列內容:

  • JOB_NAME:您選擇的不重複工作名稱
  • VERSION:您要使用的範本版本

    您可以使用下列值:

  • REGION_NAME:您要部署 Dataflow 工作的區域,例如 us-central1
  • BIGTABLE_PROJECT_ID:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 ID
  • INSTANCE_ID:包含資料表的 Bigtable 執行個體 ID
  • TABLE_ID:要匯出的 Bigtable 資料表 ID
  • INPUT_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/
{
   "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 專案 ID
  • JOB_NAME:您選擇的不重複工作名稱
  • VERSION:您要使用的範本版本

    您可以使用下列值:

  • LOCATION:您要部署 Dataflow 工作的區域,例如 us-central1
  • BIGTABLE_PROJECT_ID:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 ID
  • INSTANCE_ID:包含資料表的 Bigtable 執行個體 ID
  • TABLE_ID:要匯出的 Bigtable 資料表 ID
  • INPUT_FILE_PATTERN:資料存放位置的 Cloud Storage 路徑模式,例如 gs://mybucket/somefolder/prefix*

後續步驟