You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Databricks执行Vacuum后未释放存储空间问题排查求助

Databricks Vacuum执行后存储空间未释放的原因分析

以下是几种常见的原因及说明:

  • 异步清理机制导致延迟
    Databricks的Vacuum操作分为两个阶段:首先在Delta日志中标记待删除的文件(这一步会生成"Vacuum start"记录并计算预估删除量),实际的物理文件删除是后台异步执行的任务。对于接近1TB的大体积数据,后台清理可能需要数小时才能完成,此时容器指标不会立刻更新。

  • 快照保留期限制
    默认情况下,Delta Lake的Vacuum会保留7天的快照(对应RETAIN 168 HOURS)。如果"sizeOfDataToDelete"中的文件仍在保留期内,Vacuum不会实际删除这些文件。若要强制删除(需注意风险,可能破坏时间旅行或流作业),需显式指定更短的保留时间,比如:

    VACUUM table_name RETAIN 0 HOURS;
    
  • 云存储指标延迟
    云厂商(AWS S3、Azure ADLS、GCS)的存储空间统计并非实时同步,大文件删除后,指标可能需要1-24小时才能更新为实际剩余空间,具体取决于云服务的刷新机制。

  • 活跃事务或未过期快照占用
    如果表存在活跃的查询、流处理作业,或者有未过期的时间旅行快照在引用待删除的文件,Vacuum会跳过这些文件的删除。此时虽然预估删除量包含了这些文件,但实际不会执行物理删除,需等待事务完成或快照过期后再重新执行Vacuum。

  • 云存储权限不足
    即使Vacuum操作在Databricks中显示"成功",如果执行操作的服务账号没有云存储的Delete权限,物理文件无法被删除,仅会在Delta日志中标记为待删除状态。需要检查账号的云存储权限配置。

  • 容器内其他数据占用
    容器中可能存在非Delta表的文件(如临时文件、日志、独立的非Delta数据集),这些文件占用的空间抵消了Vacuum释放的空间,导致整体存储指标无变化。可以检查容器内的文件结构,确认是否有其他占用空间的数据源。

内容的提问来源于stack exchange,提问作者user2703679

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:12:05