Google bigquery 使用基于不同分区的数据将批量数据加载到BigQuery分区表中

Google bigquery 使用基于不同分区的数据将批量数据加载到BigQuery分区表中,google-bigquery,Google Bigquery,我想将CSV数据加载到BigQuery分区表中。我的CSV文件包含不同的分区数据。如何将整个CSV文件加载到BigQuery分区表中,以便特定的CSV分区数据进入BigQuery中的相应分区 您可以将整个CSV数据加载到临时暂存表中,然后使用 bq query --destination_table=table$20170115 "SELECT * FROM temp WHERE part='2017-01-15'" 将适当的数据复制到其分区。目前,BigQuery不支持基于数据中的字段

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

您可以将整个CSV数据加载到临时暂存表中,然后使用

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

将适当的数据复制到其分区。

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

同时,您的一些选择包括:

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

  • 按原样将整个csv加载到BigQuery中,然后逐日处理/选择到(仍然提前准备好分区的)表的各个分区中
根据您的具体情况,一个或另一个选项可能更适合您-由您决定。

从BigQuery成本的角度来看-第一个选项对我来说似乎更便宜

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