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

Best way to migrate large amount of data from US dataset to EU dataset in BigQuery?

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

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

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

您有两个选择:

  1. 使用加载作业,并联系 Google 云支持请求配额例外。他们可能会临时拨款 100k 左右(如果没有,请联系我,tigani@google,我可以这样做)。
  2. 使用联合查询作业。即,将数据移动到欧盟的 GCS 存储桶中,然后使用 GCS 数据源通过 BigQuery 查询重新导入数据。更多信息 here.

我还会研究是否可以全面提高此配额限制。

自乔丹几年前回答以来,现在还有一些其他选项可用。这些选项可能对某些人有用:

  1. 使用 Cloud Composer 通过 GCS 存储桶编排导出和加载。参见 here
  2. 使用 Cloud Dataflow 通过 GCS 存储桶编排导出和加载。参见 here

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

您可以使用 BigQuery Copy Dataset (in/cross-region) 复制数据集。复制数据集UI类似于复制table。只需单击源数据集中的 "copy dataset" 按钮,然后在弹出的表单中指定目标数据集。请参见下面的屏幕截图。查看 public 文档了解更多用例。