将批量数据加载到具有不同分区数据的BigQuery分区表中

问题描述:

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

您可以载入整个CSV数据到临时临时表中,然后使用

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

类型的查询,以适当的数据复制到自己的分区。

+0

在这种情况下,我们必须手动更改部分的值。我只想一次加载整个csv文件。 –

目前,BigQuery不支持基于数据领域的分区!
所以,显然你不能加载整个CSV,并期望它被分区。
希望这将很快改变 - 你可以跟踪各自feature request

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

  • 过程CSV文件的BigQuery外分裂一个文件到相应的日期(每一个CSV日期),然后一个接一个加载它们进入(各分区预先准备分区)表

  • 负载整个CSV原样至BigQuery然后过程/选择一个接一个一天分成(仍然在预先准备的分区)表的各分区

取决于特定的情况下,一个或另一个选择可以是对你更好 - 你决定。
从BigQuery成本的角度来看 - 第一个选项似乎对我来说便宜