有没有办法确定或指定 BigQuery 将数据存储在哪个地理区域?

Jon*_*ase 6 google-bigquery

有没有办法确定BigQuery 将我的数据存储在哪个区域(像这些)?更重要的是,有没有办法指定我的数据在发送到 BigQuery 时的存储位置?如果重要的话,我同时使用 POST 方法来批量加载数据和流式传输。

如果这两个答案都是“否”,那么BQ 将数据存储在哪里?它只是在美国,其他地方……还是遍布全球?

Jor*_*ani 5

注意:这篇文章中的所有内容都应被视为指南,而不是保证。如有疑问,请参阅 BigQuery 服务条款,该条款将更详细地说明有关数据位置的保证内容。

默认情况下,BigQuery 将您的数据存储在us-central1和 中us-central2。如果您希望 BigQuery 数据接近您的计算(即 GCE),您应该将您的计算移动到这些区域之一。

BigQuery 位置信息位于数据集上。目前有三个可能的值:US、EU 和 unspecified。如果是美国,则数据位于美国(us-central1us-central2),欧盟,数据位于欧盟(europe-west1尽管额外的副本可能存储在欧盟的其他地方)。如果未指定,则当前相当于将其存储在美国。

您可以通过执行datasets.get()操作来查看这一点,您可以bq通过以下方式使用命令行客户端执行此操作:

bq --format=prettyjson show publicdata:samples | grep location
Run Code Online (Sandbox Code Playgroud)

请注意,默认情况下,位置为空,这意味着该位置未指定。

必须在创建数据集时设置位置;它也只是(目前)可以设置其数据集位置的一组列入白名单的客户。