为啥需要在 BigQuery 中设置“asia-northeast1”的处理位置?

Posted

技术标签:

【中文标题】为啥需要在 BigQuery 中设置“asia-northeast1”的处理位置?【英文标题】:Why do I need to set the processing location for "asia-northeast1" in BigQuery?为什么需要在 BigQuery 中设置“asia-northeast1”的处理位置? 【发布时间】:2018-04-27 12:17:43 【问题描述】:

当查询位于USEU 的数据集时,我不需要在 UI 中指定“处理位置”来进行查询。在这种情况下,BigQuery 似乎能够通过查看引用的数据集自行确定适当的“处理位置”。

但是,当查询位于 asia-northeast1 的数据集时,我总是必须明确地将“处理位置”设置为相同 (asia-northeast1),否则查询将失败:

我是不是做错了什么?

【问题讨论】:

【参考方案1】:

根据文档,如果您引用EUUS 之外的数据集,则需要指定相同的处理位置。

https://cloud.google.com/bigquery/docs/dataset-locations

如果您的数据位于美国或欧盟多区域以外的位置,您必须在执行加载数据、查询数据和导出数据等操作时指定该位置。当您使用 BigQuery 网页界面查询数据时,点击显示选项,对于处理位置,点击未指定并选择您的数据位置。如果您的数据位于美国或欧盟多区域位置,您可以将处理位置设置为未指定。当您的数据位于美国或欧盟时,系统会自动检测处理位置。

【讨论】:

BigQuery 已更新,现在我们无需指定位置 > 在加载数据、查询数据或导出数据时,BigQuery 根据请求中引用的数据集确定运行作业的位置。例如,如果查询引用存储在 asia-northeast1 区域中的数据集中的表,则查询作业将在该区域中运行

以上是关于为啥需要在 BigQuery 中设置“asia-northeast1”的处理位置?的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery 没有获取在 java 中设置的属性

如何在 BigQuery 中设置动态会计日期范围?

如何在 Google BigQuery 中设置用户的查询配额

如何在 ReDash 中设置标准 SQL BigQuery

如何在 BigQuery 架构中设置 FLOAT 的精度

在 BigQuery python api 中设置聚类列