mapreduce – 阶段在火花日志中意味着什么?

当我使用spark运行工作时,我得到以下日志?

[阶段0:> (0 32)/ 32]

这里32对应于我要求的rdd的分区数.

但是我不明白为什么有多个阶段以及每个阶段到底发生了什么.

每个阶段显然需要花费很多时间.是否有可能在更少的阶段完成?

Spark中的一个阶段表示在本地完成的DAG计算的一部分.一个阶段会中断需要重新排列数据的操作,这就是为什么你会在Spark UI中看到它以该操作命名的原因.如果您使用的是Spark 1.4,那么您甚至可以在DAG可视化部分的UI中将其可视化:

enter image description here

请注意,拆分发生在reduceByKey,这需要一个shuffle来完成完整的执行.

相关文章
相关标签/搜索