BigQuery数据源为您提供读取BigQuery的功能,方便您后续可以通过向导模式和脚本模式配置数据同步任务。本文为您介绍DataWorks的BigQuery数据同步能力支持情况。
支持的版本及地域
BigQuery使用的SDK版本是
google-cloud-bigquery 2.29.0
,SDK能力具体请参见官网文档。支持创建BigQuery数据源的地域如下:
中国香港、日本(东京)、新加坡、澳大利亚(悉尼)关停中、马来西亚(吉隆坡)、印度尼西亚(雅加达)、德国(法兰克福)、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)
支持的字段类型
BigQuery的字段类型请参见BigQuery的官方文档。下面为您列出当前主要字段的支持情况。
BigQuery类型 | Java 类型 |
BOOL | Bool |
INT64 | Long |
FLOAT64 | BigDecimal |
NUMERIC | BigDecimal |
BIGNUMERIC | BigDecimal |
STRING | String |
BYTES | Bytes |
STRUCT | String |
ARRAY | String |
TIMESTAMP | Date |
DATE | Date |
TIME | Date |
DATETIME | Date |
GEOGRAPHY | String |
JSON | String |
INTERVAL | String |
数据同步前准备:配置BigQuery的网络连接
在DataWorks上进行数据同步前,您需要将BigQuery的网络与数据集成的独享资源组打通,使之通过内网地址进行访问。网络打通的具体方法可参考:网络连通方案。
数据同步任务开发
BigQuery数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。
创建数据源
在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建并管理数据源。
以下对BigQuery数据源的几个配置项进行说明:
BigQuery Project ID:Google BigQuery的项目名。
BigQuery授权认证信息:上传Google Cloud的认证文件。
单表离线同步任务配置指导
操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。
脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。
附录:脚本Demo与参数说明
离线任务脚本配置方式
如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数的指导详情。
BigQuery Reader脚本Demo
{
"stepType": "bigquery"
"parameter":
{
"datasource":"bq_test1",
"table": "partition_1107",
"where": "xxx=3",
"dataSet": "database_0724",
"partition": [
"_PARTITIONTIME='2023-11-07'"
],
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Reader",
"category": "reader"
}
BigQuery Reader脚本参数
参数 | 描述 | 是否必选 | 默认值 |
datasource | 数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。 | 是 | 无 |
dataset | 数据集,BigQuery的数据集。 | 是 | 无 |
table | 选取的需要同步的表名称。 | 是 | 无 |
column | 需要读取的BigQuery数据,字段之间用英文逗号分隔。例如"column": ["id", "name", "age"]。 | 是 | 无 |
where | 筛选条件,BigQuery Reader根据指定的column、table和where条件拼接SQL,并根据该SQL进行数据抽取。例如在做测试时,可以将where条件指定为 在实际业务场景中,通常会选择当天的数据进行同步,可以将where条件指定为
| 否 | 无 |
partition | 配置分区信息,可以同步特定的分区,支持一次同步多个分区。 | 否 | 无 |
splitPk | 如果已经指定了分区,则splitPk字段不生效。如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片。数据同步系统会启动并发任务进行数据同步,以提高数据同步的效能。 | 否 | 无 |