【问题标题】:Run both Databricks Optimize and Vacuum?同时运行 Databricks Optimize 和 Vacuum?
【发布时间】:2021-11-01 22:38:06
【问题描述】:

同时调用 Databricks (Delta) OptimizeVacuum 是否有意义?这似乎是有道理的,但我不想只是推断要做什么。我想问。

Vacuum

递归清理与 Delta 表关联的目录,并删除不再处于表事务日志的最新状态且早于保留阈值的数据文件。文件被删除是根据它们从 Delta 的事务日志中逻辑删除的时间 + 保留时间,而不是它们在存储系统上的修改时间戳。默认阈值为 7 天。

Optimize

优化 Delta Lake 数据的布局。可选择优化数据子集或按列共置数据。如果不指定 colocation,则执行 bin-packing 优化。

第二个问题:如果答案是肯定的,那么最好的操作顺序是什么?

  1. Optimize 然后Vacuum
  2. Vacuum 然后Optimize

【问题讨论】:

    标签: databricks azure-databricks delta-lake


    【解决方案1】:

    是的,您至少需要运行这两个命令来清理由 OPTIMIZE 优化的文件。使用默认设置,顺序无关紧要,因为它只会在 7 天后删除文件。仅当您以 0 秒的保留时间运行 VACUUM 时,顺序才重要,但无论如何都不建议这样做,因为它会删除整个历史记录。

    【讨论】:

      猜你喜欢
      • 2021-09-29
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 2015-06-08
      相关资源
      最近更新 更多