Cloud Storage SequenceFile 到 Bigtable 範本

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

管道相關規定

  • Bigtable 資料表必須存在。
  • 在執行管道之前,輸入的 SequenceFile 必須存在於 Cloud Storage bucket 中。
  • 輸入 SequenceFile 必須已從 Bigtable 或 HBase 匯出。

範本參數

必要參數

  • bigtableProject:包含要寫入資料的 Bigtable 執行個體的 Google Cloud 專案 ID。
  • bigtableInstanceId:包含資料表的 Bigtable 執行個體 ID。
  • bigtableTableId:要匯入的 Bigtable 資料表 ID。
  • sourcePattern:資料位置的 Cloud Storage 路徑模式。例如:gs://your-bucket/your-path/prefix*

選用參數

  • bigtableAppProfileId:用於匯入作業的 Bigtable 應用程式設定檔 ID。如果您未指定應用程式設定檔,Bigtable 會使用執行個體的預設應用程式設定檔 (https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile)。
  • mutationThrottleLatencyMs:選用。設定突變延遲節流 (啟用這項功能)。以毫秒為單位的值。預設為:0。

執行範本

控制台

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

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

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取「SequenceFile Files on Cloud Storage to Cloud Bigtable」(Cloud Storage 中的 SequenceFile 檔案到 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 \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_PATTERN

更改下列內容:

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

    您可以使用下列值:

  • REGION_NAME:您要部署 Dataflow 工作的區域,例如 us-central1
  • BIGTABLE_PROJECT_ID:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 ID
  • INSTANCE_ID:包含資料表的 Bigtable 執行個體 ID
  • TABLE_ID:要匯出的 Bigtable 資料表 ID
  • APPLICATION_PROFILE_ID:要用於匯出的 Bigtable 應用程式設定檔 ID
  • SOURCE_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": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "sourcePattern": "SOURCE_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
  • APPLICATION_PROFILE_ID:要用於匯出的 Bigtable 應用程式設定檔 ID
  • SOURCE_PATTERN:資料存放位置的 Cloud Storage 路徑模式,例如 gs://mybucket/somefolder/prefix*

後續步驟