Spark的架構(gòu)與運(yùn)行邏輯

本篇內(nèi)容主要講解“Spark的架構(gòu)與運(yùn)行邏輯”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Spark的架構(gòu)與運(yùn)行邏輯”吧!

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)濱城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

一:Spark的架構(gòu)。

    1.  Driver:運(yùn)行Application的main()函數(shù)并且創(chuàng)建SparkContext。

    2.  Client:用戶提交作業(yè)的客戶端。

    3.  Worker:集群中任何可以運(yùn)行 Application 代碼的節(jié)點(diǎn),運(yùn)行一個(gè)或多個(gè) Executor
                        進(jìn)程。

    4.  Executor :運(yùn)行在 Worker 的 Task 執(zhí)行器, Executor 啟動線程池運(yùn)行 Task,并且
                           負(fù)責(zé)將數(shù)據(jù)存在內(nèi)存或者磁盤上。每個(gè) Application 都會申請各自的 Executor                             來處理任務(wù)。

    5.  SparkContext:整個(gè)應(yīng)用的上下文,控制應(yīng)用的生命周期。

    6.  RDD: Spark 的基本計(jì)算單元,一組 RDD 形成執(zhí)行的有向無環(huán)圖 RDD Graph。

    7.  DAG Scheduler:根據(jù) Job 構(gòu)建基于 Stage 的 DAG 工作流,并提交 Stage 給                                                           TaskScheduler。

    8.  TaskScheduler:將 Task 分發(fā)給 Executor 執(zhí)行。

    9.  SparkEnv:線程級別的上下文,存儲運(yùn)行時(shí)的重要組件的引用。

二:運(yùn)行邏輯。

    1.  Spark 作業(yè)提交流程。

        如下圖,Client提交應(yīng)用,Master找到一個(gè)Worker啟動Driver,Driver向Master或者資源管理器申請資源,之后將應(yīng)用轉(zhuǎn)化為RDD有向無環(huán)圖,再由DAGScheduler將RDD有向無環(huán)圖轉(zhuǎn)化為Stage的有向無環(huán)圖提交給TaskScheduler,由TaskScheduler提交任務(wù)給Executor進(jìn)行執(zhí)行。任務(wù)執(zhí)行的過程中其他組件在協(xié)同工作確保整個(gè)應(yīng)用順利執(zhí)行。

        Spark的架構(gòu)與運(yùn)行邏輯

    2.  Spark 作業(yè)運(yùn)行邏輯。

        如下圖,在 Spark 應(yīng)用中,整個(gè)執(zhí)行流程在邏輯上運(yùn)算之間會形成有向無環(huán)圖。Action 算子觸發(fā)之后會將所有累積的算子形成一個(gè)有向無環(huán)圖,然后由調(diào)度器調(diào)度該圖上的任務(wù)進(jìn)行運(yùn)算。 Spark 的調(diào)度方式與 MapReduce 有所不同。 Spark 根據(jù) RDD 之間不同的依賴關(guān)系切分形成不同的階段( Stage),一個(gè)階段包含一系列函數(shù)進(jìn)行流水線執(zhí)行。圖中的 A、 B、 C、 D、 E、 F,分別代表不同的 RDD, RDD 內(nèi)的一個(gè)方框代表一個(gè)數(shù)據(jù)塊。數(shù)據(jù)從 HDFS 輸入 Spark,形成 RDD A 和 RDD C, RDD C 上執(zhí)行 map 操作,
轉(zhuǎn)換為 RDD D, RDD B 和 RDD E 進(jìn)行 join 操作轉(zhuǎn)換為 F,而在 B 到 F 的過程中又會
進(jìn)行 Shuff le。最后 RDD F 通過函數(shù) saveAsSequenceFile 輸出保存到 HDFS 中。

    Spark的架構(gòu)與運(yùn)行邏輯

到此,相信大家對“Spark的架構(gòu)與運(yùn)行邏輯”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章標(biāo)題:Spark的架構(gòu)與運(yùn)行邏輯
文章網(wǎng)址:http://muchs.cn/article36/ispisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)