我们可以像在Hive中一样在Big Query中创建动态分区吗?

时间:2017-10-03 14:13:51

标签: google-bigquery google-cloud-platform google-cloud-storage

我想将存储在Buckets中的所有数据(例如:/bucket/project/odate/odate_cust.txt)加载到Big Query中的表中,该表是DAY分区的吗?我是否需要逐个导入文件并加载,或者我可以直接加载到多个分区。

**bq mk --time_partitioning_type=DAY market.cust custid:string,grp:integer,odate:string**

1 个答案:

答案 0 :(得分:1)

目前,您需要为每个负载指定分区(using the $ decorator syntax)以将其放入相应的分区中。否则,BigQuery将使用加载作业的UTC时间来选择分区。有一个即将推出的功能,允许您自己的字段进行分区(我假设你的文件中有一个TIMESTAMP或DATE字段可以分区)。然而,他们还没有推出它(很快就会出现问题)。您可以跟踪其进度here

如果您赶时间,那么有一些解决方法(例如将其全部加载到非分区表中,然后使用SQL或Cloud Dataflow对其进行分区)。看看here

最后,如果您的文件名包含分区的日期/日期,那么您可以很容易地编写自己的脚本来查看文件的名称并运行多个加载作业并将数据填充到相应的分区中。桌子。