1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      spark基本工作流程是怎么樣的

      小編給大家分享一下spark基本工作流程是怎么樣的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

      運河網站建設公司創(chuàng)新互聯(lián),運河網站設計制作,有大型網站制作公司豐富經驗。已為運河上千余家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站制作要多少錢,請找那個售后服務好的運河做網站的公司定做!

      引言

      Spark的應用分為任務調度和任務執(zhí)行兩個部分,所有的Spark應用程序都離不開SparkContext和Executor兩部分,Executor負責執(zhí)行任務,運行Executor的機器稱為Worker節(jié)點,SparkContext由用戶程序啟動,通過資源調度模塊和Executor通信。

      spark基本工作流程是怎么樣的

      具體來說,以SparkContext為程序運行的總入口,在SparkContext的初始化過程中,Spark會分別創(chuàng)建DAGScheduler作業(yè)調度和TaskScheduler任務調度兩級調度模塊。

      其中作業(yè)調度模塊是基于任務階段的高層調度模塊,它為每個Spark作業(yè)計算具有依賴關系的多個調度階段(通常根據shuffle來劃分),然后為每個階段構建出一組具體的任務(通常會考慮數(shù)據的本地性等),然后以TaskSets(任務組)的形式提交給任務調度模塊來具體執(zhí)行。而任務調度模塊則負責具體啟動任務、監(jiān)控和匯報任務運行情況。

      spark應用程序的運行架構:

      (1)簡單的說:

      由driver向集群申請資源,集群分配資源,啟動executor。driver將spark應用程序的代碼和文件傳送給executor。executor上運行task,運行完之后將結果返回給driver或者寫入外界。

      (2)復雜點說:

      提交應用程序,構建sparkContext,構建DAG圖,提交給scheduler進行解析,解析成一個個stage,提交給集群,由集群任務管理器進行調度,集群啟動spark executor。driver把代碼和文件傳給executor。executor進行各種運算完成task任務。driver上的block tracker記錄executor在各個節(jié)點上產生的數(shù)據塊。task運行完之后,將數(shù)據寫入HDFS上或者其他類型數(shù)據庫里。

      (3)全面點說:

      spark應用程序進行各種transformation的計算,最后通過action觸發(fā)job。提交之后首先通過sparkContext根據RDD的依賴關系構建DAG圖,DAG圖提交給DAGScheduler進行解析,解析時是以shuffle為邊界,反向解析,構建stage,stage之間也有依賴關系。這個過程就是對DAG圖進行解析劃分stage,并且計算出各個stage之間的依賴關系。然后將一個個TaskSet提交給底層調度器,在spark中是提交給taskScheduler處理,生成TaskSet manager,最后提交給executor進行計算,executor多線程計算,計算完反饋給TaskSetmanager,再反饋給taskScheduler,然后再反饋回DAGScheduler。全部運行完之后寫入數(shù)據。

      (4)更加深入理解:

      應用程序提交后,觸發(fā)action,構建sparkContext,構建DAG圖,提交給DAGScheduler,構建stage,以stageSet方式提交給TaskScheduler,構建taskSet Manager,然后將task提交給executor運行。executor運行完task后,將完成信息提交給schedulerBackend,由它將任務完成的信息提交給TaskScheduler。TaskScheduler反饋信息給TaskSetManager,刪除該task任務,執(zhí)行下一個任務。同時TaskScheduler將完成的結果插入到成功隊列里,加入之后返回加入成功的信息。TaskScheduler將任務處理成功的信息傳給TaskSet Manager。全部任務完成后TaskSet Manager將結果反饋給DAGScheduler。如果屬于resultTask,交給JobListener。如果不屬于resultTask,保存結果。

      spark作業(yè)提交到執(zhí)行

      spark基本工作流程是怎么樣的

      SparkContext通過DAGScheduler的runJob提交作業(yè)。然后DAGScheduler將Job劃分為Stage,Spark根據RDD的依賴關系劃分Stage,最終將其封裝成taskset進行提交。TaskScheduler類負責任務調度資源的分配,SchedulerBackend負責與Master、Worker通信收集Worker上分配給該應用使用的資源情況。executor負責具體的任務執(zhí)行。

      Driver的任務提交過程

      spark基本工作流程是怎么樣的

      1、Driver程序的代碼運行到action操作,觸發(fā)了SparkContext的runJob方法。
      2、SparkContext調用DAGScheduler的runJob函數(shù)。
      3、DAGScheduler把Job劃分stage,然后把stage轉化為相應的Tasks,把Tasks交給TaskScheduler。
      4、通過TaskScheduler把Tasks添加到任務隊列當中,交給SchedulerBackend進行資源分配和任務調度。
      5、調度器給Task分配執(zhí)行Executor,ExecutorBackend負責執(zhí)行Task。

      以上是“spark基本工作流程是怎么樣的”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      網站題目:spark基本工作流程是怎么樣的
      鏈接分享:http://www.ef60e0e.cn/article/phojdd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        陆河县| 兴国县| 淮阳县| 北京市| 三亚市| 察哈| 蒙山县| 正安县| 濮阳市| 太原市| 新巴尔虎左旗| 河津市| 民乐县| 织金县| 富蕴县| 分宜县| 教育| 辽阳市| 永寿县| 台安县| 共和县| 庆城县| 商洛市| 周口市| 平湖市| 巴塘县| 确山县| 斗六市| 汶川县| 响水县| 开江县| 舒兰市| 固安县| 余姚市| 余江县| 平定县| 浦江县| 杭锦旗| 乌兰县| 双江| 如东县|