最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Spark中Job 調(diào)度流程是怎么樣的?

2023-02-28 17:08 作者:ingemar-  | 我要投稿

Spark Application應(yīng)用的用戶代碼都是基于RDD的一系列計(jì)算操作,實(shí)際運(yùn)行時(shí),這些計(jì)算操作是Lazy執(zhí)行的,并不是所有的RDD操作都會(huì)觸發(fā)Spark往Cluster上提交實(shí)際作業(yè),基本上只有一些需要返回?cái)?shù)據(jù)或者向外部輸出的操作才會(huì)觸發(fā)實(shí)際計(jì)算工作(Action算子),其它的變換操作基本上只是生成對(duì)應(yīng)的RDD記錄依賴關(guān)系(Transformation算子)。

當(dāng)啟動(dòng)Spark Application的時(shí)候,運(yùn)行MAIN函數(shù),首先創(chuàng)建SparkContext對(duì)象(構(gòu)建DAGScheduler和TaskScheduler)。

第一點(diǎn)、DAGScheduler實(shí)例對(duì)象

將每個(gè)Job的DAG圖劃分為Stage,依據(jù)RDD之間依賴為寬依賴(產(chǎn)生Shuffle)

第二點(diǎn)、TaskScheduler實(shí)例對(duì)象

調(diào)度每個(gè)Stage中所有Task:TaskSet,發(fā)送到Executor上執(zhí)行

當(dāng)RDD調(diào)用Action函數(shù)(比如count、saveTextFile或foreachPartition)時(shí),觸發(fā)一個(gè)Job執(zhí)行,調(diào)度中流程如下圖所示:

Spark RDD通過其Transactions操作,形成了RDD血緣關(guān)系圖,即DAG,最后通過Action的調(diào)用,觸發(fā)Job并調(diào)度執(zhí)行。

1)、DAGScheduler負(fù)責(zé)Stage級(jí)的調(diào)度,主要是將DAG切分成若干Stages,并將每個(gè)Stage打包成TaskSet交給TaskScheduler調(diào)度。

2)、TaskScheduler負(fù)責(zé)Task級(jí)的調(diào)度,將DAGScheduler給過來的TaskSet按照指定的調(diào)度策略分發(fā)到Executor上執(zhí)行,調(diào)度過程中SchedulerBackend負(fù)責(zé)提供可用資源,其中SchedulerBackend有多種實(shí)現(xiàn),分別對(duì)接不同的資源管理系統(tǒng)。

Spark的任務(wù)調(diào)度總體來說分兩路進(jìn)行,一路是Stage級(jí)的調(diào)度,一路是Task級(jí)的調(diào)度。


一個(gè)Spark應(yīng)用程序包括Job、Stage及Task:

第一:Job是以Action方法為界,遇到一個(gè)Action方法則觸發(fā)一個(gè)Job;

第二:Stage是Job的子集,以RDD寬依賴(即Shuffle)為界,遇到Shuffle做一次劃分;

第三:Task是Stage的子集,以并行度(分區(qū)數(shù))來衡量,分區(qū)數(shù)是多少,則有多少個(gè)task。


Spark中Job 調(diào)度流程是怎么樣的?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
马山县| 申扎县| 应城市| 河津市| 奉新县| 丰台区| 商洛市| 桐城市| 唐海县| 牡丹江市| 项城市| 荥经县| 桑日县| 临潭县| 门头沟区| 板桥市| 平和县| 峨眉山市| 金山区| 林西县| 罗甸县| 宣城市| 武冈市| 镇赉县| 米泉市| 独山县| 从化市| 长岭县| 香港| 乌兰察布市| 霍山县| 东丽区| 仁寿县| 宁化县| 阿图什市| 岐山县| 上思县| 大港区| 达拉特旗| 江油市| 偏关县|