如何轻松地将旧样式分区表转换为新样式分区表

时间:2019-02-09 00:52:10

标签: google-bigquery

我有一个分区表,其名称类似于mytable_*,后缀表示日期。

我现在想将其转换为在bigquery中对表进行分区的新方式。以及_partitiondate列等。

我当时正在考虑基于旧表创建新表的架构,然后将数据插入其中,但是我不确定如何将旧表的日期值(即后缀)放入{ {1}}字段。

1 个答案:

答案 0 :(得分:2)

如果您以前创建了带日期分割的表,则可以使用bq命令行工具中的partition命令将整个相关表集转换为单个摄取时分区表。带日期分隔的表必须使用以下命名约定:[TABLE] _YYYYMMDD。例如,mytable_20160101,...,mytable_20160331。

为此,您应该使用bq partition命令,如下例所示

bq --location=[LOCATION] partition --time_partitioning_type=DAY --time_partitioning_expiration [INTEGER] [PROJECT_ID]:[DATASET].[SOURCE_TABLE]_ [PROJECT_ID]:[DATASET].[DESTINATION_TABLE]    

您可以在以下文章中查看更多详细信息/选项

Converting date-sharded tables into ingestion-time partitioned tables

bq partition