设置过期选项创建BigQuery表时出现过期时间不符问题
BigQuery表过期时间与预期不符的原因
你遇到的问题本质是BigQuery对表过期时间的维护窗口对齐机制导致的:
- 单独执行
SELECT TIMESTAMP(DATE_ADD(CURRENT_DATE(), INTERVAL 2 DAY))时,确实会返回UTC午夜的时间戳(比如2024-05-20 00:00:00 UTC),这部分逻辑是准确的。 - 但BigQuery并不会在你指定的精确时间点删除表,而是将过期时间自动调整到最近的系统维护窗口时间(通常是UTC凌晨的固定时段,比如UTC 07:00左右,具体时间可能因区域略有差异),然后在维护窗口内批量处理所有过期表。
- 这种设计是为了优化系统资源使用,避免在非峰值时段频繁执行删除操作,所以即使你指定了UTC午夜,最终表的过期时间会被对齐到下一个维护窗口的时间点。
如果你需要更精确的过期时间控制,目前BigQuery不支持自定义删除时间点,只能接受系统维护窗口的对齐规则。
内容的提问来源于stack exchange,提问作者Nico Albers
相关产品推荐
相关产品推荐

