我对德尔塔湖的交易记录有点疑惑。文档中提到,默认保留策略为30天,可以通过属性-:delta.logRetentionDuration=interval-string进行修改。但我不明白何时会从delta_log文件夹中删除实际的日志文件。是不是我们运行某个操作时发生的?或者可以是真空操作。但是提到,真空操作只会删除数据文件,不会删除日志。但是它会删除超过指定日志保留时间的日志吗?
参考-:https://docs.databricks.com/delta/delta-batch.html#data-retention
发布于 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语句,这对于管理来说听起来可能很麻烦。
%sql
ALTER table_name SET TBLPROPERTIES ('delta.logRetentionDuration'='interval 240 hours', 'delta.deletedFileRetentionDuration'='interval 1 hours')
SHOW TBLPROPERTIES table_namehttps://stackoverflow.com/questions/65486886
复制相似问题