spark-stage任務劃分、sparkclient執行模式
sparkclient執行模式
- 程式碼塊的提交、sparkshell的執行
- sparksubmit在AM下啟動master執行Driver對任務進行劃分和切片、初始化sparkcontext,
- Driver向RM申請啟動一臺機器並啟動EL,RM會選擇一臺機器並啟動EL(EL執行的仍然是AM中的main方法,然後EL會繼續申請資源。
- 獲取資源後EL會向資源機器傳送啟動EB,並建立Executor物件的指令,指令傳送成功之後向RM回覆,RM並將這一資訊返回給Driver,
- Driver獲取資訊後,向Executor分配任務。
##stage任務劃分(在Driver端進行)
- Application是每初始化一個Sparkcontext都會產生一個。job是根據行動運算元的個數來決定,每一個行動運算元產生一個job。stage個數是根據寬依賴的個數加1。Task是由每一個stage最後一個RDD分割槽來決定。
- 任務開始是在遇到行動運算元之後才開始然後逐步向前推進先尋找寬依賴個數來判斷stage的個數。
- 然後再通過TaskSheduler通過Taskset獲取job中所有的task,然後序列化再發往Executor。
相關文章
- 編輯計劃任務並執行
- linux中計劃任務執行指令碼Linux指令碼
- ubuntu上使用cron執行定時任務計劃Ubuntu
- 在Web應用程式中執行計劃任務(多執行緒) (轉)Web執行緒
- centos7.2 利用crontab執行定時計劃任務CentOS
- linux設定crontab定時執行任務計劃Linux
- 任務執行順序
- 利用SSIS在SQL Azure中執行計劃任務(下)KCSQL
- 利用SSIS在SQL Azure中執行計劃任務(上)DJSQL
- laravel框架任務排程(定時執行任務)Laravel框架
- 微任務和巨集任務哪個先執行
- 同步任務與非同步任務執行順序非同步
- 【定時任務|開機啟動】Windows Server 2008/2012 計劃任務配置(任務計劃程式)每分鐘執行BATWindowsServerBAT
- php:多程式執行任務PHP
- SSH 遠端執行任務
- PHP定時執行任務PHP
- 自動執行任務crontab
- 計劃任務
- linux計劃任務每五分鐘或每天執行一次怎麼新增設定Linux
- Linux計劃任務crontab執行指令碼不正確的問題Linux指令碼
- Spark叢集和任務執行Spark
- C# 執行緒與任務C#執行緒
- spring執行定時任務Spring
- Crontab 任務不執行問題
- 如何避免任務重複執行
- 使用screen後臺執行任務
- 瞭解js執行機制——微任務與巨集任務JS
- Django配置celery執行非同步任務和定時任務Django非同步
- 計劃任務執行批處理指令碼,執行記錄顯示“上次執行結果(0x1)”指令碼
- mysql計劃任務MySql
- 計劃任務(CRON)
- 計劃任務crontab
- 並行執行任務的Fork/Join框架並行框架
- Linux執行shell指令碼完成任務計劃是以秒為單位Linux指令碼
- Linux透過計劃任務驅動Windows伺服器執行命令LinuxWindows伺服器
- Springboot-之定時任務,啟動執行任務Spring Boot
- php後臺定時執行任務PHP
- AsyncTask實現非同步任務執行非同步