4、2 核心组件
?
1、Stage:虛的一組RDD構(gòu)成的鏈條并行的task集合,同一Stage的所有任務(wù)有著相同的Shuffle依賴。階段的劃分按照shuffle標(biāo)記來進(jìn)行的。一個(gè)階段含多個(gè)RDD,先有RDD后有Stage一個(gè)階段含多個(gè)taskstage通過ShuffleDependency劃分,一個(gè)stage都是NarrowDependency階段類型有兩種,ShuffleMapStage和ResultStage。- ShuffleMapStage
中間環(huán)節(jié)該階段任務(wù)的結(jié)果是下一個(gè)階段任務(wù)的輸入。需要跟蹤每個(gè)分區(qū)所在的節(jié)點(diǎn)。任務(wù)執(zhí)行期間的中間過程,保存task的輸出數(shù)據(jù)供下一個(gè)reduce進(jìn)行fetch。該階段可以單獨(dú)提交。- ResultStage結(jié)果階段直接執(zhí)行rdd的action操作。對(duì)一些分區(qū)應(yīng)用計(jì)算函數(shù)(不一定需要在所有分區(qū)進(jìn)行計(jì)算,比如說first(),take(3))。2、Task:運(yùn)行在一個(gè)節(jié)點(diǎn)上,實(shí)的 一個(gè)task包含一個(gè)RDD整個(gè)的變換的過程從最后一個(gè)RDD的每個(gè)分區(qū)往前找他的依賴,就是它的任務(wù);最后一個(gè)RDD的分區(qū)數(shù)就是該階段的task數(shù)是spark執(zhí)行單位,有兩種類型。- ShuffelMapTask在ShuffleMapStage由多個(gè)ShuffleMapTask組成。- ResultTaskResultStage由多個(gè)ResultTask組成,結(jié)果任務(wù)直接task后,將結(jié)果回傳給driver。3、job一個(gè)action就是一個(gè)job4、Application一個(gè)應(yīng)用可含多個(gè)job。
?5、SparkContext
spark上下文是spark程序的主入口點(diǎn),表示到spark集群的連接。可以創(chuàng)建RDD、累加器和廣播變量。 每個(gè)jvm只能有個(gè)active的上下文,如果要?jiǎng)?chuàng)建新的上下文,必須stop掉原來的。?
轉(zhuǎn)載于:https://www.cnblogs.com/lybpy/p/9769913.html
總結(jié)
- 上一篇: 通过xrdp实现远程桌面连接Window
- 下一篇: 协方差矩阵, 相关系数矩阵