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。
相關文章
- 利用SSIS在SQL Azure中執行計劃任務(下)KCSQL
- 利用SSIS在SQL Azure中執行計劃任務(上)DJSQL
- linux計劃任務每五分鐘或每天執行一次怎麼新增設定Linux
- 微任務和巨集任務哪個先執行
- 同步任務與非同步任務執行順序非同步
- laravel框架任務排程(定時執行任務)Laravel框架
- IDEA上執行Flink任務Idea
- php:多程式執行任務PHP
- Springboot-之定時任務,啟動執行任務Spring Boot
- Linux透過計劃任務驅動Windows伺服器執行命令LinuxWindows伺服器
- Linux執行shell指令碼完成任務計劃是以秒為單位Linux指令碼
- 計劃任務執行批處理指令碼,執行記錄顯示“上次執行結果(0x1)”指令碼
- 使用screen後臺執行任務
- 如何避免任務重複執行
- C# 執行緒與任務C#執行緒
- Spark叢集和任務執行Spark
- SpringBoot執行定時任務@ScheduledSpring Boot
- 瞭解js執行機制——微任務與巨集任務JS
- Django配置celery執行非同步任務和定時任務Django非同步
- job任務均不執行,手工執行報job now running
- Flink - Task 任務排程執行流程
- AsyncTask實現非同步任務執行非同步
- Fork Join 併發任務執行框架框架
- php後臺定時執行任務PHP
- Springboot非同步任務執行緒池Spring Boot非同步執行緒
- 獲取任務的執行結果
- Spring Boot @Async 非同步任務執行Spring Boot非同步
- 在叢集環境中執行的Spring計劃排程任務 - Stack OverflowSpring
- .net使用Task多執行緒執行任務 .net限制執行緒數量執行緒
- 如何使用cron任務每隔2天在固定時間執行任務
- Spring Boot使用執行緒池處理事務任務Spring Boot執行緒
- Java 執行時的記憶體劃分Java記憶體
- .NetCore Hangfire任務計劃NetCore
- Linux 任務計劃管理Linux
- 使用 Bash 自動執行復雜任務
- Laravel 定時任務突然無法執行Laravel
- Linux 中 Laravel 任務排程不執行LinuxLaravel
- vSphere Bitfusion執行TensorFlow深度學習任務深度學習