BigQuery:将日期分区表更改为摄取时间分区表

时间:2018-10-17 12:54:31

标签: google-bigquery

我有一个BigQuery 已分区日期表,我想将其转换为插入时间分区表(已分区_PARTITIONTIME),并使用当前日期分区输入_PARTITIONTIME 。我该怎么办?

为什么?因为使用BigQuery的预定查询功能(通过使用@rundate参数作为分区装饰器),只能将摄取分区表逐步加载到其中

1 个答案:

答案 0 :(得分:2)

一个选项是先禁用计划的查询,然后将基于列的分区表复制到摄取时分区表。然后重新启用计划的查询。请按照以下步骤操作:

  1. 通过BigQuery UI禁用预定查询:disable option on scheduled query
  2. 创建一个新的提取时间分区表(称为ingestion_time_partitioned),并将基于列的分区表(称为table_column_partitioned)复制到新表(ingestion_time_partitioned)。
  3. 编辑计划的查询以写入新的摄取时间分区表(ingestion_time_partitioned)。 请记住重新启用计划的查询并删除“分区”字段(用于基于列的分区)。

从基于列的分区表复制到摄取时间分区表将正确地将基于列的分区映射到基于摄取时间的分区。还有 copy job on BigQuery is free 。有关复制分区表的更多信息,请参见https://cloud.google.com/bigquery/docs/managing-partitioned-tables#copying_partitioned_tables