目录
角色介绍
任务划分
更详细的一个图
角色介绍
driver进程(SchedulerBackend):应用的主控进程,负责应用的解析,切分stage,并调度task到executor,包含DAGScheduler等重要对象
master:通知worker创建DriverRunner进程
worker:启动ExecutorRunner进程
ExecutorRunner进程会启动ExecutorBackend进程
ExecutorBackend进程向driver内的SchedulerBackend进程注册
任务划分
一个action操作产生一个job
一个job就是一个RDD DAG
一个RDD DAG被切分成多个stage DAG
划分stage的总体思想是从最后的finallRDD出发反向递归访问逻辑执行图,每遇到
宽依赖
就断开,把之前沿途的窄依赖都加入同一个stage
每个stage DAG中包含多个task,也叫taskset
task的数量取决于每个stage中最后一个RDD的partition数量。
将每个task调度到executor
更详细的一个图