首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >永远保留Delta Lake的Delta log事务数据

永远保留Delta Lake的Delta log事务数据
EN

Stack Overflow用户
提问于 2020-12-29 11:14:30
回答 1查看 1K关注 0票数 1

我对德尔塔湖的交易记录有点疑惑。文档中提到,默认保留策略为30天,可以通过属性-:delta.logRetentionDuration=interval-string进行修改。但我不明白何时会从delta_log文件夹中删除实际的日志文件。是不是我们运行某个操作时发生的?或者可以是真空操作。但是提到,真空操作只会删除数据文件,不会删除日志。但是它会删除超过指定日志保留时间的日志吗?

参考-:https://docs.databricks.com/delta/delta-batch.html#data-retention

EN

回答 1

Stack Overflow用户

发布于 2020-12-30 12:42:42

围绕数据保留的概念是建立策略,以确保不能保留的数据应在此过程中自动删除。默认情况下,DeltaLake存储所有数据修改的变更数据捕获历史记录。有两个设置delta.logRetentionDuration (默认间隔30天)和delta.deletedFileRetentionDuration (默认间隔1周)。

Delta_log是数据库增量湖中事务日志的默认实现。默认保存30天的表事务提交历史记录。但是,如果您经常在增量湖表中摄取数据,您可能会看到在_delta_log目录下的存储帐户中创建了许多微小的json和crc文件。如果您对维护30天的日志历史不感兴趣,这可能会增加存储成本。

如果您正在管理和管理databricks环境,则应该考虑截断这些日志文件。在databricks增量湖中执行此操作的默认方法是运行ALTER TABLE..TBLPROPERTIES语句,这对于管理来说听起来可能很麻烦。

代码语言:javascript
复制
%sql
ALTER table_name SET TBLPROPERTIES ('delta.logRetentionDuration'='interval 240 hours', 'delta.deletedFileRetentionDuration'='interval 1 hours')
SHOW TBLPROPERTIES table_name
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65486886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档