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/VERSION/GCS_SequenceFile_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
sourcePattern=SOURCE_PATTERN

更改下列內容:

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

    您可以使用下列值:

    • latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates/latest/
    • 版本名稱,例如 2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates/
  • 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/VERSION/GCS_SequenceFile_to_Cloud_Bigtable
{
   "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:您要使用的範本版本

    您可以使用下列值:

    • latest,使用範本的最新版本,該版本位於 bucket 中非依日期命名的上層資料夾:gs://dataflow-templates/latest/
    • 版本名稱,例如 2023-09-12-00_RC00,可使用特定版本的範本,該範本會以巢狀結構存放在 bucket 中相應的依日期命名上層資料夾中:gs://dataflow-templates/
  • 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*

後續步驟