最近整理一下,之前没注意到的点。本文整理下 Job 与 Stage 的划分依据。
参考文章:
1.Spark的Job、Stage、Task是按何种规则产生的
https://blog.csdn.net/gaopu12345/article/details/79156675
2.Spark中job、stage、task的划分+源码执行过程分析
https://blog.csdn.net/hjw199089/article/details/77938688
Job 划分依据 :
Set of stages executed as a result of an action .
解释: Spark 中Job 依据 Transform 进行划分,具体那些算子属于 transform, 那些算子属于 action 算子。可以参看我的这篇文章:
transform与action相关文章 :https://blog.csdn.net/u010003835/article/details/106341908
Stage 划分依据:
Set of transformations at a shuffle boundary
解释 Stage 的划分是依赖于 Shuffle, Stage 从宽依赖进行划分
宽窄依赖相关文章:https://blog.csdn.net/u010003835/article/details/80844514
Task :
一个Stage内,最终的RDD有多少个partition,就会产生多少个task。看一看上图就明白了。
我们实际操作下