在BigQuery中将大量数据从美国数据集迁移到EU数据集的最佳方法?

时间:2016-03-02 19:10:54

标签: google-bigquery

我在位于美国的多个数据集中托管的单个BigQuery项目中,在大约100万个表中有许多TB。我需要将所有这些数据移动到欧盟托管的数据集中。这样做的最佳选择是什么?

  • 我将表格导出到Google云端存储并使用加载作业重新导入,但每个项目每天的加载作业限制为10K
  • 我将其作为查询w /"允许大结果"并保存到目标表,但这不起作用跨区域

我现在看到的唯一选择是使用BQ流API重新插入所有数据,这将成本过高。

在BigQuery中跨区域移动大量数据的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

您有几个选择:

  1. 使用加载作业,并与Google Cloud Support联系以询问配额例外。他们可能会临时授予10万左右(如果没有,请与我联系,tigani@google,我可以这样做。)
  2. 使用联合查询作业。也就是说,将数据移动到EU中的GCS存储桶中,然后通过具有GCS数据源的BigQuery查询重新导入数据。更多信息here
  3. 我还会研究是否可以全面提高配额限制。

答案 1 :(得分:4)

您可以使用BigQuery Copy Dataset(在/跨区域)复制数据集。复制数据集用户界面类似于复制表。只需单击源数据集中的“复制数据集”按钮,然后在弹出表单中指定目标数据集。请参见下面的屏幕截图。查看公共文档以了解更多用例。

enter image description here

答案 2 :(得分:0)

自约旦几年前回答以来,现在提供了其他一些选择。这些选项可能对某些人有用:

  1. 使用Cloud Composer协调通过GCS存储桶进行的导出和加载。参见here
  2. 使用Cloud Dataflow协调通过GCS存储桶进行的导出和加载。参见here

免责声明:我写了第二个选项的文章(使用Cloud Dataflow)。