将批量数据加载到具有不同分区数据的BigQuery分区表中
问题描述:
我想将CSV数据加载到BigQuery分区表中。我的CSV文件包含不同的分区数据。如何将整个CSV文件加载到BigQuery分区表中以便特定的csv分区数据转到BigQuery中的相应分区。将批量数据加载到具有不同分区数据的BigQuery分区表中
答
您可以载入整个CSV数据到临时临时表中,然后使用
bq query --destination_table=table$20170115
"SELECT * FROM temp WHERE part='2017-01-15'"
类型的查询,以适当的数据复制到自己的分区。
答
目前,BigQuery不支持基于数据领域的分区!
所以,显然你不能加载整个CSV,并期望它被分区。
希望这将很快改变 - 你可以跟踪各自feature request
与此同时,一些你的选择是:
- 过程CSV文件的BigQuery外分裂一个文件到相应的日期(每一个CSV日期),然后一个接一个加载它们进入(各分区预先准备分区)表
或
- 负载整个CSV原样至BigQuery然后过程/选择一个接一个一天分成(仍然在预先准备的分区)表的各分区
取决于特定的情况下,一个或另一个选择可以是对你更好 - 你决定。
从BigQuery成本的角度来看 - 第一个选项似乎对我来说便宜
在这种情况下,我们必须手动更改部分的值。我只想一次加载整个csv文件。 –