databricks - 在 deltaLake 表上配置 TTL
问题描述
我正在寻找一种方法将 ttl(time-to-live) 添加到我的 deltaLake 表中,以便其中的任何记录在固定跨度后自动消失,我还没有找到任何具体的东西,任何人都知道是否有解决方法?
解决方案
不幸的是,Delta Lake 表中没有称为 TTL(生存时间)的配置。
您可以通过对表运行 Vacuum 命令来删除不再被 Delta 表引用并且比保留阈值更旧的文件。真空不会自动触发。文件的默认保留期限为 7 天。
Delta Lake 为读取提供快照隔离,这意味着即使在其他用户或作业正在查询表时运行 OPTIMIZE 也是安全的。但是,最终您应该清理旧快照。
你可以通过运行 VACUUM 命令来做到这一点:
VACUUM events
您可以使用 RETAIN HOURS 选项控制最新保留快照的期限:
VACUUM events RETAIN 24 HOURS
有关有效使用 VACUUM 的详细信息,请参阅Vacuum。
推荐阅读
- javascript - 从 ES6 导入带有命名空间的旧 javascript
- python - 我正在尝试制作一个万智牌应用程序,我应该如何存储卡片属性?
- bzip2 - tar:打开存档时出错:无法初始化过滤器;无法运行程序“bzip2 -d”
- python - 有没有办法改变一个对象的属性分配给另一个对象的属性?
- android - firestore onSuccess 监听器不工作
- python-3.x - 如何在没有大量 .replace() 的情况下解决编码问题?Python3 Chrome 驱动程序 BS4?
- android - 当我使用带有两个按钮的自定义适配器时如何从 ListView 中删除一行
- python - 在解析之前,如何去除字符串变量“interface_info”中每一行的前沿空格?
- android - Android - 在 Imageview 上创建滚动按钮
- box2d - Box2d 在碰撞时移动另一个物体之前移除物体