You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制立即删除BigQuery中已过期的分区数据?

BigQuery过期分区清理问题解答

强制删除已过期分区的方法

BigQuery 没有单独的触发后台自动清理的接口,但你可以通过手动执行分区删除操作实现即时清理,完全满足数据安全的强需求:

  • 对于按时间分区的表,基于分区列_PARTITIONTIME直接匹配过期规则执行删除即可,该操作会直接命中对应分区,不会扫描全表,执行效率极高,数据删除即时生效:
-- 示例:删除所有早于90天的分区,可根据实际过期规则调整时间条件
DELETE FROM `my.table`
WHERE _PARTITIONTIME < TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 90 DAY)
  • 如果需要先核对要删除的分区范围,可先查询分区列表确认:
SELECT
  partition_id,
  _PARTITIONTIME AS partition_time
FROM `my.dataset.table$__PARTITIONS_SUMMARY__`
WHERE _PARTITIONTIME < TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 90 DAY)

自动清理的预期周期

BigQuery 的分区自动清理是后台异步任务,官方给出的预期执行周期是24~48小时,该时长不做SLA承诺,高峰期可能出现延迟。
你测试时遇到的改回90天过期后旧数据仍留存的情况,是因为修改过期规则时,后台清理任务还未执行,原本符合短过期规则的分区在规则修改后不再满足90天的过期条件,因此不会被后台自动清理。

高安全要求场景建议

如果你的场景对数据留存有严格合规要求,不要完全依赖后台异步清理,建议配置定时任务,定期主动执行上述删除语句,确保超期数据不会意外留存。

内容的提问来源于stack exchange,提问作者Ace.C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 02:09:00