用户工具


角色介绍

  • 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

更详细的一个图