我正在阅读学习Spark,我不明白Spark的shuffle输出写入磁盘是什么意思.请参见第8章,调优和调试Spark,第148-149页:
如果现有RDD已经存在于集群内存或磁盘上,Spark的内部调度程序可能会截断RDD图的谱系.这种截断可能发生的第二种情况是RDD已经实现为早期shuffle的副作用,即使它没有明确地持久化.这是一个底层优化,它利用了Spark shuffle输出写入磁盘的事实,并利用了RDD图的许多部分被重新计算的事实.
据我所知,存在不同的持久性策略,例如,默认值MEMORY_ONLY意味着中间结果永远不会持久保存到磁盘.
何时以及为什么洗牌会在磁盘上持续存在?如何通过进一步的计算重用它?