我有一个分区表,其名称类似于mytable_*
,后缀表示日期。
我现在想将其转换为在bigquery中对表进行分区的新方式。以及_partitiondate列等。
我当时正在考虑基于旧表创建新表的架构,然后将数据插入其中,但是我不确定如何将旧表的日期值(即后缀)放入{ {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
和