首页 > 解决方案 > 在 deltaLake 表上配置 TTL

问题描述

我正在寻找一种方法将 ttl(time-to-live) 添加到我的 deltaLake 表中,以便其中的任何记录在固定跨度后自动消失,我还没有找到任何具体的东西,任何人都知道是否有解决方法?

标签: databricksazure-databricksdelta-lake

解决方案


不幸的是,Delta Lake 表中没有称为 TTL(生存时间)的配置。

您可以通过对表运行 Vacuum 命令来删除不再被 Delta 表引用并且比保留阈值更旧的文件。真空不会自动触发。文件的默认保留期限为 7 天。

Delta Lake 为读取提供快照隔离,这意味着即使在其他用户或作业正在查询表时运行 OPTIMIZE 也是安全的。但是,最终您应该清理旧快照。

你可以通过运行 VACUUM 命令来做到这一点:

VACUUM events

您可以使用 RETAIN HOURS 选项控制最新保留快照的期限:

VACUUM events RETAIN 24 HOURS

有关有效使用 VACUUM 的详细信息,请参阅Vacuum


推荐阅读