Bigtable 到 Cloud Storage Parquet 範本是一種管道,可從 Bigtable 資料表中讀取資料,並將資料以 Parquet 格式寫入 Cloud Storage 值區。您可以使用這個範本將資料從 Bigtable 移到 Cloud Storage。
管道相關規定
- Bigtable 資料表必須存在。
- 執行管道前,輸出 Cloud Storage 值區必須已存在。
範本參數
必要參數
- bigtableProjectId:包含您要讀取資料的 Cloud Bigtable 執行個體的 Google Cloud 專案 ID。
- bigtableInstanceId:包含資料表的 Cloud Bigtable 執行個體 ID。
- bigtableTableId:要匯出的 Cloud Bigtable 資料表 ID。
- outputDirectory:寫入輸出檔案的路徑和檔案名稱前置字串,結尾必須為斜線。DateTime 格式化功能可用於剖析目錄路徑,以取得日期和時間格式化工具。例如:
gs://your-bucket/your-path
。 - filenamePrefix:Parquet 檔案名稱的前置字串,例如,
table1-
。預設值為part
。
選用參數
- numShards:寫入時產生的輸出資料分割數量上限;分片數量越多,寫入 Cloud Storage 的處理量就越高,但處理輸出 Cloud Storage 檔案時,分片間的資料彙整費用可能會更高。預設值由 Dataflow 決定。
- bigtableAppProfileId:用於匯出的 Bigtable 應用程式設定檔 ID。如果您未指定應用程式設定檔,Bigtable 會使用執行個體的預設應用程式設定檔:https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。 前往「依據範本建立工作」
- 在「工作名稱」欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1
。如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the Cloud Bigtable to Parquet Files on Cloud Storage template。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_Parquet \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX,\ numShards=NUM_SHARDS
更改下列內容:
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
BIGTABLE_PROJECT_ID
:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 IDINSTANCE_ID
:包含資料表的 Bigtable 執行個體 IDTABLE_ID
:要匯出的 Bigtable 資料表 ID- :資料寫入位置的 Cloud Storage 路徑,例如
gs://mybucket/somefolder
OUTPUT_DIRECTORY
FILENAME_PREFIX
:Parquet 檔案名稱的前置字串,例如output-
NUM_SHARDS
:要輸出的 Parquet 檔案數量,例如1
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/Cloud_Bigtable_to_GCS_Parquet { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", "numShards": "NUM_SHARDS" }, "environment": { "zone": "us-central1-f" } }
更改下列內容:
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
BIGTABLE_PROJECT_ID
:您要讀取資料的 Bigtable 執行個體 Google Cloud 專案 IDINSTANCE_ID
:包含資料表的 Bigtable 執行個體 IDTABLE_ID
:要匯出的 Bigtable 資料表 ID- :資料寫入位置的 Cloud Storage 路徑,例如
gs://mybucket/somefolder
OUTPUT_DIRECTORY
FILENAME_PREFIX
:Parquet 檔案名稱的前置字串,例如output-
NUM_SHARDS
:要輸出的 Parquet 檔案數量,例如1
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。