Export Bigquery table to gcs bucket into multiple folders/files 对应集群
Export Bigquery table to gcs bucket into multiple folders/files corresponding to clusters
由于加载时间和查询成本,我需要将一个 bigquery table 导出到存储桶中的多个 Google Cloud Storages 文件夹。
我目前使用来自 bigquery python 客户端的 ExtractJobConfig 和通配符来创建多个文件。但是我需要为每个命名法值创建一个文件夹(它在 bigquery table 列中),然后创建多个文件。
table 非常大,不适合(可以,但不是那个主意)ram,它是 1+ Tb。我不能用 python.
虚拟循环
我阅读了很多文档,解析了参数,但我找不到一个干净的解决方案。是否遗漏了什么或没有 google 解决方案?
我的B计划是给我们apache beam和dataflow,但我还没有技能,为了简单和维护,我想尽量避免这种方案。
您有 2 个解决方案:
- 为每个聚合创建 1 个导出查询。如果您有 100 个命名法值,则查询 100 次 table 并导出目标目录中的数据。问题是成本:您将支付 table.
的 100 处理费用
- 您可以使用 Apache Beam 提取数据并对它们进行排序。然后,使用动态目标,您将能够创建所需的所有 GCS 路径。问题是它需要 Apache Beam 的技能才能实现它。
你有一个额外的解决方案,类似于第二个,但你可以使用 Spark,尤其是 Spark serverless 来实现它。如果你在 spark 方面比在 apache Beam 方面更熟练,它可能会更有效率。
由于加载时间和查询成本,我需要将一个 bigquery table 导出到存储桶中的多个 Google Cloud Storages 文件夹。
我目前使用来自 bigquery python 客户端的 ExtractJobConfig 和通配符来创建多个文件。但是我需要为每个命名法值创建一个文件夹(它在 bigquery table 列中),然后创建多个文件。
table 非常大,不适合(可以,但不是那个主意)ram,它是 1+ Tb。我不能用 python.
虚拟循环我阅读了很多文档,解析了参数,但我找不到一个干净的解决方案。是否遗漏了什么或没有 google 解决方案?
我的B计划是给我们apache beam和dataflow,但我还没有技能,为了简单和维护,我想尽量避免这种方案。
您有 2 个解决方案:
- 为每个聚合创建 1 个导出查询。如果您有 100 个命名法值,则查询 100 次 table 并导出目标目录中的数据。问题是成本:您将支付 table. 的 100 处理费用
- 您可以使用 Apache Beam 提取数据并对它们进行排序。然后,使用动态目标,您将能够创建所需的所有 GCS 路径。问题是它需要 Apache Beam 的技能才能实现它。
你有一个额外的解决方案,类似于第二个,但你可以使用 Spark,尤其是 Spark serverless 来实现它。如果你在 spark 方面比在 apache Beam 方面更熟练,它可能会更有效率。