我需要在 BigQuery 中为测试环境创建一个生产数据集的副本,并使用它来模拟具有新更改的管道处理。
然而,生产数据集是巨大的。所以我通常只想保留它的最新数据用于测试。
为此,我想截断数据集中超过 30 天的所有分区数据。
我尝试在数据集级别设置分区过期时间。它不起作用。
那我怎么能这样做。
答案 0 :(得分:0)
我对此做了一些测试并确认了这一点。
当您在数据集级别设置默认分区到期时。它仅适用于新表。 对于现有的分区表,您需要在单个表级别设置分区以使其分区过期。 例如:
ALTER TABLE `gcp_A.dataset_1.measurements`
SET OPTIONS (
-- Sets partition expiration to 30 days
partition_expiration_days=30
);
select min(stamp) from `gcp_A.dataset_1.measurements`
-- [result]
-- 2021-06-15 00:00:00 UTC