如何轻松将旧式分区表转换为新式分区表
Posted
技术标签:
【中文标题】如何轻松将旧式分区表转换为新式分区表【英文标题】:how to convert an old style partitioned table to a new style partitioned table easily 【发布时间】:2019-02-09 00:52:10 【问题描述】:我有一个名为mytable_*
的分区表,其中后缀表示日期。
我现在想将其转换为在 bigquery 中对表进行分区的新方式,即。使用 _partitiondate 列等。
我正在考虑基于旧表创建新表的架构,然后将数据插入其中,但我不知道如何将旧表的日期值(即后缀)放入@ 987654323@字段。
【问题讨论】:
我想,这个帖子***.com/questions/38993877/… 是答案?我还在想我可能不得不重新填充气流工作等。 【参考方案1】:如果您之前创建了日期分片表,则可以使用 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
【讨论】:
在重新分区期间有什么方法可以添加集群吗?以上是关于如何轻松将旧式分区表转换为新式分区表的主要内容,如果未能解决你的问题,请参考以下文章