最近整理一下,之前沒注意到的點。本文整理下 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。看一看上圖就明白了。
我們實際操作下