「BigQuery 匯出至 Parquet」範本是一個批次管道,可從 BigQuery 資料表讀取資料,並以 Parquet 格式寫入 Cloud Storage 值區。這個範本會使用 BigQuery Storage API 匯出資料。
管道相關規定
- 執行管道前,輸入 BigQuery 資料表必須已存在。
- 執行管道前,輸出 Cloud Storage 值區必須已存在。
範本參數
必要參數
- tableRef:BigQuery 輸入資料表位置。例如:
your-project:your-dataset.your-table-name
。 - bucket:要寫入 Parquet 檔案的 Cloud Storage 資料夾。例如:
gs://your-bucket/export/
。
選用參數
- numShards:輸出檔案的資料分割數量。預設值為
1
。 - fields:以半形逗號分隔的欄位清單,用於從輸入的 BigQuery 資料表選取欄位。
- rowRestriction:只讀取符合指定篩選條件的資料列,篩選條件必須是與 Google 標準 SQL 相容的 SQL 運算式 (https://cloud.google.com/bigquery/docs/reference/standard-sql)。如未指定值,系統會傳回所有資料列。
執行範本
控制台
- 前往 Dataflow 的「Create job from template」(透過範本建立工作) 頁面。 前往「依據範本建立工作」
- 在「工作名稱」欄位中,輸入專屬工作名稱。
- 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為
us-central1
。如需可執行 Dataflow 工作的地區清單,請參閱「Dataflow 位置」。
- 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the BigQuery export to Parquet (via Storage API) template。
- 在提供的參數欄位中輸入參數值。
- 按一下「Run Job」(執行工作)。
gcloud
在殼層或終端機中執行範本:
gcloud dataflow flex-template run JOB_NAME \ --project=PROJECT_ID \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/BigQuery_to_Parquet \ --region=REGION_NAME \ --parameters \ tableRef=BIGQUERY_TABLE,\ bucket=OUTPUT_DIRECTORY,\ numShards=NUM_SHARDS,\ fields=FIELDS
更改下列內容:
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/
REGION_NAME
: 您要部署 Dataflow 工作的地區,例如us-central1
BIGQUERY_TABLE
:BigQuery 資料表名稱OUTPUT_DIRECTORY
:輸出檔案的 Cloud Storage 資料夾NUM_SHARDS
:所需的輸出檔案分片數量FIELDS
:要從輸入 BigQuery 資料表選取的欄位清單 (以半形逗號分隔)
API
如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 projects.templates.launch
。
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "parameters": { "tableRef": "BIGQUERY_TABLE", "bucket": "OUTPUT_DIRECTORY", "numShards": "NUM_SHARDS", "fields": "FIELDS" }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/BigQuery_to_Parquet", } }
更改下列內容:
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
BIGQUERY_TABLE
:BigQuery 資料表名稱OUTPUT_DIRECTORY
:輸出檔案的 Cloud Storage 資料夾NUM_SHARDS
:所需的輸出檔案分片數量FIELDS
:要從輸入 BigQuery 資料表選取的欄位清單 (以半形逗號分隔)
後續步驟
- 瞭解 Dataflow 範本。
- 請參閱 Google 提供的範本清單。