根据分区文件夹的创建/修改日期删除增量表分区

问题描述 投票:0回答:1

据我了解,delta中有一个vaccum命令可以从delta表中删除旧版本。但是,我想根据分区的修改日期删除该分区。 例如:date=2024-11-22是我的分区名称,这个修改日期是2024-11-30,我想删除修改日期低于我的截止日期(2024-12-01)的分区

如何利用 Delta 功能高效地执行此操作且不损失耐用性

pyspark delta-lake delta
1个回答
0
投票

你在这里混淆了两种不同的东西:

  1. 清理不再属于 Delta 表的文件(这就是
    VACUUM
    的作用)。
  2. 删除表中仍然存在但被视为过时的数据。

在您的情况下,没有内置方法可以直接根据修改日期删除分区。一个好的解决方法是在表中添加一个新列来跟踪“更新时间戳”(基本上是您的修改日期)。

一旦你有了这个,你可以简单地运行一个

DELETE
查询,如下所示:

DELETE FROM your_table
WHERE update_date < '2024-11-30';

这样,您可以保持表清洁,而不会影响耐用性或数据完整性。

© www.soinside.com 2019 - 2024. All rights reserved.