You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dataform中跨多个地域查询BigQuery数据集?

可以在Dataform中跨地域查询不同数据集的表吗?

完全可以,以下是两种常用实现方式:

1. 直接在SQL中指定完整跨地域表路径

BigQuery支持在SQL语句中通过地域前缀指定不同地域的数据集,Dataform会直接执行该SQL,不受defaultLocation的限制。

针对你的场景,查询EU地域的dataset1和默认地域的dataset2时,SQL可以这么写:

SELECT * FROM `EU.dataset1.target_table`
UNION ALL
SELECT * FROM `dataset2.another_table`

2. 使用ref函数时指定地域参数

如果你习惯用Dataform的ref函数管理表依赖,可以在调用ref时通过第二个参数的location字段,覆盖默认地域配置。

示例代码:

config {
  type: "view"
}

SELECT * FROM ${ref("target_table", { location: "EU" })}
UNION ALL
SELECT * FROM ${ref("another_table")}

这里target_table归属EU地域的dataset1,another_table归属默认europe-west1地域的dataset2,ref会自动生成正确的跨地域表引用路径。

注意事项

  • 跨地域查询会产生额外的网络传输费用,需关注BigQuery的计费规则
  • 确保Dataform使用的服务账号拥有所有目标地域数据集的访问权限

内容的提问来源于stack exchange,提问作者Snowfire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:44:55