【发布时间】:2018-02-09 21:06:34
【问题描述】:
问题是我有以下 DAG:
我认为当需要洗牌时,火花会在不同阶段分配工作。考虑阶段 0 和阶段 1。有些操作不需要改组。那么为什么 Spark 将它们分成不同的阶段呢?
我认为跨分区的实际数据移动应该发生在第 2 阶段。因为这里我们需要cogroup。但是要进行联合分组,我们需要来自stage 0 和stage 1 的数据。
所以Spark保留这些阶段的中间结果,然后应用到Stage 2上?
【问题讨论】:
标签: java scala apache-spark