我正在尝试对我创建的 Databricks 表设置保留策略,但我不知道该怎么做。我根据 Databricks 文档使用这两种配置:
delta.logRetentionDuration = "interval ": 配置方式 很久你就可以回到过去。默认间隔为 30 天。
delta.deletedFileRetentionDuration = "间隔": 配置 过时的数据文件在被删除之前会保留多长时间
真空。默认间隔为 1 周。
我的表至少有 2 天的历史,使用 1 天的间隔是无效的,因为我查询表,每一行仍然存在,没有删除任何内容。我还使用了 VACUUM 命令,如下所示:
VACUUM test_table 保留 10 小时
但是,仍然没有删除任何内容。
最佳答案
Delta Lake提供了一个vacuum命令,可以删除旧版本的数据(任何早于指定保留期的数据)。
情况1:如果您有一个没有任何更改的增量表,那么当您使用vacuum命令时不会执行任何操作。
情况2:如果您有一个有任何更改的增量表,当您使用vacuum命令时,确实会删除旧版本的数据。
您可以引用这篇文章“Vacuuming Delta Lakes ”,其中清楚地解释了何时应用真空、何时不应用真空。
希望这有帮助。
关于apache-spark - 如何删除超过 X 天/年的 Databricks 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59999770/