如何配置Google BigQuery DTS实现跨项目数据集定期复制任务
跨项目BigQuery DTS数据传输配置方案
核心说明
你在源项目中创建DTS任务时无法选择其他项目的目标数据集是正常的,BigQuery DTS的跨项目传输需要在目标项目侧创建任务,拉取源项目的数据,而非在源项目侧推送数据到其他项目。
第一步:配置跨项目访问权限
提前完成以下权限配置,否则会出现源数据集不可见、任务运行报错的问题:
- 获取目标项目
project-alps的数字ID,可在Cloud控制台「项目设置」页面查看 - 在源项目
project-everest的IAM配置页,添加DTS服务账号(格式为service-<目标项目数字ID>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com),并授予两个权限:- 作用于源数据集
evr_dataset的BigQuery 数据查看者(roles/bigquery.dataViewer)权限 - 作用于整个源项目的
BigQuery 作业用户(roles/bigquery.jobUser)权限
- 作用于源数据集
- 你当前用于创建任务的操作账号,需要在目标项目
project-alps拥有两个权限:- 作用于目标数据集
alp_dataset的BigQuery 数据编辑者(roles/bigquery.dataEditor)权限 - 作用于整个目标项目的
BigQuery 传输管理员(roles/bigquerydatatransfer.transportAdmin)权限
- 作用于目标数据集
第二步:创建定时传输任务
操作步骤如下:
- 切换Cloud控制台的当前项目为目标项目
project-alps,进入BigQuery服务页,点击左侧菜单栏的「数据传输」 - 点击「创建传输任务」,源类型选择「BigQuery 数据集」
- 源配置栏填写源项目ID
project-everest、源数据集IDevr_dataset,按需配置表过滤规则、是否复制视图、是否复制分区数据等参数 - 目标配置栏直接选择当前项目下的
alp_dataset作为目标数据集 - 配置调度频率为每日定时,设置首次运行时间、重试策略、任务名称等参数后提交即可
注意:如果需要增量同步,可在传输配置中开启「仅复制新增/变更数据」选项,无需全量重复复制所有表数据。
内容的提问来源于stack exchange,提问作者Poobalan
相关产品推荐
相关产品推荐

