如何解决在 Databricks 中清空 Delta 表不起作用
我正在尝试清空 Databricks 中的 Delta 表。但是,不知何故它不起作用,我不明白为什么。这导致我们的存储空间不断增加。
我设置了以下表格属性:
%sql
ALTER TABLE <table_name> SET TBLPROPERTIES
("delta.deletedFileRetentionDuration" = "interval 2 hours");
%sql
ALTER TABLE <table_name> SET TBLPROPERTIES
("delta.logRetentionDuration" = "interval 2 hours");
然后我在 Databricks 笔记本中运行以下真空命令:
%sql
VACUUM db_name.table_name retain 2 hours
或者像这样:
%sql
VACUUM db_name.table_name
运行此命令后,在 dbfs 中显示为要删除的候选文件的文件仍然存在。
delta_log json 中的数据示例:
{"remove":{"path":"year=2021/month=05/day=06/part-00001-52dd3cf7-9afc-46b0-9a03-7be3d1ee533e.c000.snappy.parquet","deletionTimestamp" :1622798688231,"dataChange":true}
为了测试目的,我还添加了一些数据并删除了一些数据,因为我读到您需要更改表才能成功执行真空。
我在这里遗漏了什么?
解决方法
也试试 checkpointRetentionDuration 。 ALTER TABLE 表名
SET TBLPROPERTIES ('delta.checkpointRetentionDuration' = '7 days')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。