【问题标题】:Load bulk data into BigQuery partitioned table with different partitions-based data使用不同的基于分区的数据将批量数据加载到 BigQuery 分区表中
【发布时间】:2017-04-27 23:42:15
【问题描述】:

我想将 CSV 数据加载到 BigQuery 分区表中。我的 CSV 文件包含不同的分区数据。如何将整个 CSV 文件加载到 BigQuery 分区表中,以便特定的 csv 分区数据进入 BigQuery 中的相应分区。

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    您可以将整个 CSV 数据加载到临时临时表中,然后使用类型的查询

    bq query --destination_table=table$20170115 
      "SELECT * FROM temp WHERE part='2017-01-15'"
    

    将适当的数据复制到他们的分区中。

    【讨论】:

    • 在这种情况下,我们必须手动更改部分的值。我只想一次性加载整个 csv 文件。
    【解决方案2】:

    目前,BigQuery 不支持基于数据中的字段进行分区!
    因此,显然您不能加载整个 CSV 并期望它被分区。
    希望这会很快改变 - 你可以跟踪各自的feature request

    与此同时,您的一些选择是:

    • 在 BigQuery 之外处理您的 csv 文件,将一个文件拆分为相应的日期(每个日期一个 csv),然后将它们一一加载到(预先准备好的分区)表的相应分区中

    • 将整个 csv 按原样加载到 BigQuery 中,然后逐一处理/选择到(仍预先准备好的分区)表的相应分区中

    取决于您的具体情况,一个或另一个选项可能更适合您 - 您自己决定。
    从 BigQuery 成本的角度来看 - 第一个选项对我来说似乎更便宜

    【讨论】:

      猜你喜欢
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      相关资源
      最近更新 更多