在 deltaLake table 上配置 TTL

Configuring TTL on a deltaLake table

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

很遗憾,Delta Lake tables 中没有名为 TTL (time-to-live) 的配置。

您可以删除不再被 Delta table 引用且早于保留阈值的文件,方法是 运行 在 table 上执行 vacuum 命令。真空不会自动触发。文件的默认保留阈值为 7 天。

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

您可以通过 运行使用 VACUUM 命令来执行此操作:

VACUUM events

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

VACUUM events RETAIN 24 HOURS

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