清理 Databricks 中的 Delta 表不起作用
Vacuuming Delta tables in Databricks does not work
我正在尝试清理 Databricks 中的 Delta tables。但是,不知何故它不起作用,我不明白为什么。这导致我们的存储不断增加。
我设置了以下 table 属性:
%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 notebook 中执行以下 vacuum 命令:
%sql
VACUUM db_name.table_name retain 2 hours
或者像这样:
%sql
VACUUM db_name.table_name
在 dbfs 中显示为要删除的候选文件在 运行 执行此命令后仍然存在。
delta_logjson中的数据示例:
{"删除":{"路径":"年=2021/月=05/日=06/part-00001-52dd3cf7-9afc-46b0-9a03-7be3d1ee533e.c000.snappy.parquet"," deletionTimestamp":1622798688231,"dataChange":true}
出于测试目的,我还添加了一些数据并删除了一些数据,因为我读到您需要更改 table 才能成功执行 vacuum。
我在这里错过了什么?
也试试 checkpointRetentionDuration 。
改变 TABLE table-名称
设置 TBLPROPERTIES('delta.checkpointRetentionDuration' =“7 天”)
经过一些研究,我发现我正在尝试使用 vacuum 而不是旧数据文件来删除日志文件。但是,我确实发现了为什么我们在 Databricks 中的存储使用量不断增加。似乎 Databricks 在 Azure 存储帐户中创建了锁定的容器,并在那里保存了集群 metrics/logs。这占我们在特定存储帐户中使用的 3TB 中的 2TB。
我正在尝试清理 Databricks 中的 Delta tables。但是,不知何故它不起作用,我不明白为什么。这导致我们的存储不断增加。
我设置了以下 table 属性:
%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 notebook 中执行以下 vacuum 命令:
%sql
VACUUM db_name.table_name retain 2 hours
或者像这样:
%sql
VACUUM db_name.table_name
在 dbfs 中显示为要删除的候选文件在 运行 执行此命令后仍然存在。
delta_logjson中的数据示例:
{"删除":{"路径":"年=2021/月=05/日=06/part-00001-52dd3cf7-9afc-46b0-9a03-7be3d1ee533e.c000.snappy.parquet"," deletionTimestamp":1622798688231,"dataChange":true}
出于测试目的,我还添加了一些数据并删除了一些数据,因为我读到您需要更改 table 才能成功执行 vacuum。
我在这里错过了什么?
也试试 checkpointRetentionDuration 。 改变 TABLE table-名称
设置 TBLPROPERTIES('delta.checkpointRetentionDuration' =“7 天”)
经过一些研究,我发现我正在尝试使用 vacuum 而不是旧数据文件来删除日志文件。但是,我确实发现了为什么我们在 Databricks 中的存储使用量不断增加。似乎 Databricks 在 Azure 存储帐户中创建了锁定的容器,并在那里保存了集群 metrics/logs。这占我们在特定存储帐户中使用的 3TB 中的 2TB。