【发布时间】:2017-04-18 09:42:46
【问题描述】:
我正在阅读 Learning Spark,但我不明白 Spark 的 shuffle 输出写入磁盘意味着什么。请参阅第 8 章,调优和调试 Spark,第 148-149 页:
Spark 的内部调度程序可能会截断 RDD 图的沿袭 如果现有的 RDD 已经持久化在集群内存中或 磁盘。 这种截断可能发生的第二种情况是当一个 RDD 已经物化为早期洗牌的副作用,甚至 如果它没有明确地持久化。这是引擎盖下 利用 Spark shuffle 的事实进行优化 输出被写入磁盘,并利用了多次 部分 RDD 图被重新计算。
据我了解,有不同的持久化策略,例如默认的MEMORY_ONLY,这意味着中间结果永远不会被持久化到磁盘上。
shuffle 何时以及为什么会在磁盘上保留某些内容?进一步的计算如何重用它?
【问题讨论】:
标签: apache-spark rdd