BigQuery export to 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 基于模板创建作业页面。 转到“基于模板创建作业”
- 在作业名称字段中,输入唯一的作业名称。
- 可选:对于区域性端点,从下拉菜单中选择一个值。默认区域为
us-central1
。如需查看可以在其中运行 Dataflow 作业的区域列表,请参阅 Dataflow 位置。
- 从 Dataflow 模板下拉菜单中,选择 the BigQuery export to Parquet (via Storage API) template。
- 在提供的参数字段中,输入您的参数值。
- 点击运行作业。
gcloud
在 shell 或终端中,运行模板:
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 作业的 Google Cloud 项目 IDJOB_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 作业的 Google Cloud 项目 IDJOB_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 提供的模板列表。