【问题标题】:Best way to migrate large amount of data from US dataset to EU dataset in BigQuery?在 BigQuery 中将大量数据从美国数据集迁移到欧盟数据集的最佳方法?
【发布时间】:2016-03-02 19:10:53
【问题描述】:

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

  • 我会将表导出到 Google Cloud Storage,然后使用加载作业重新导入,但每个项目每天的加载作业数量限制为 10K
  • 我会将其作为带有“允许大结果”的查询并保存到目标表中,但这不适用于跨区域

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

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

【问题讨论】:

标签: google-bigquery


【解决方案1】:

你有几个选择:

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

我也会研究我们是否可以全面提高这个配额限制。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-26
        • 1970-01-01
        • 2020-12-05
        • 2017-06-06
        • 2023-02-01
        • 2012-06-13
        相关资源
        最近更新 更多