Spark:取消坚持后内存未释放

Spark: Memory not released after unpersist

非常简单,我在一个 17 节点集群上使用 spark 2.4.3,并且我有一个我坚持使用的数据集。最后,经过一些 calculations/actions,我使用了 unpersist(),但根据 Spark UI 中的存储选项卡,数据集最终保留在内存中。即使我使用 unpersist(true),数据集最终仍然存在。为什么会这样?

已修复!最终问题出在代码中。我坚持使用名称为 df 的数据集,然后删除列或更改列的名称,并 re-assigned 使用相同的名称 (df)。我想这意味着在我不坚持的最后,只有新的数据集没有被坚持(尽管它从来没有在一开始就被坚持)。我只是在“删除列等”之后保留了数据集并解决了问题。