spark-shell的啟動(dòng)流程:

image.png
wordCount執(zhí)行流程
- val lines = sc.textFile("...") -->HadoopRDD讀取文件內(nèi)容--->MapPartionsRDD[1]
- val words = lines.map(_.split(" ")) -->MapPartionsRDD[2]
- val ones = words.map((_,1))--->MapPartionsRDD[3]
- val counts = ones.reduceByKey(+) -->ShuffledRDD[4]
wordcount 產(chǎn)生4個(gè)RDD,會(huì)被劃分成兩個(gè)stage:ShuffleMapStage和ResultStage
這個(gè)job會(huì)有兩個(gè)分區(qū),所以這兩個(gè)stage會(huì)分別產(chǎn)生兩個(gè)task,每個(gè)task會(huì)被嘗試執(zhí)行多次直到執(zhí)行完畢。