基于日期/时间字段的分区的分区到期倒计时
Posted
技术标签:
【中文标题】基于日期/时间字段的分区的分区到期倒计时【英文标题】:Partition expiry countdown for date/time field based partition 【发布时间】:2021-05-06 13:11:20 【问题描述】:截至 2021 年 5 月,Google Big Query 文档没有明确提及时间/日期字段分区表的分区到期倒计时何时开始? 分区本身的日期/时间是分区到期倒计时的开始,还是在分区创建时开始到期倒计时?
例如,如果创建如下表
CREATE TABLE IF NOT EXISTS `project_id.dataset_name.table_name`
(
dateTime TIMESTAMP NOT NULL
, trainName STRING
, fleet STRING
, customer STRING
)
PARTITION BY DATE(dateTime)
OPTIONS (
partition_expiration_days = 3
)
因此,如果表是在每月 5 日创建的,但在插入数据时,如果插入了该月 1 日的数据(对于字段 dateTime
),那么该数据是否已经过期插入?还是会在同月 9 日到期?
对于基于摄取的分区,不会出现这种混淆,因为摄取时间戳本身就是一个分区时间戳。
参考资料:
Create a time-unit column-partitioned table Updating default partition expiration times Use the expiration settings to remove unneeded tables and partitions【问题讨论】:
【参考方案1】:该数据将在插入时过期。分区本身的日期/时间是分区到期倒计时的开始。因此,当月 1 日的数据不会出现在表格中。
【讨论】:
以上是关于基于日期/时间字段的分区的分区到期倒计时的主要内容,如果未能解决你的问题,请参考以下文章
基于 TIMESTAMP 列的分区的 BigQuery 分区到期
需要关于基于非日期列和日期分区在 bigquery 中拆分表的建议