首页
学习
活动
专区
圈层
工具
发布

Spark Task 的执行流程① - 分配 tasks 给 executors

本文为 Spark 2.0 版本的源码分析,其他版本可能会有所不同 TaskScheduler 作为资源调度器的一个重要职责就在: 集群可用资源发生变化(比如有新增的 executor,有 executor...lost 等) 有新的 task 提交 有 task 结束 处理 Speculatable task 等时机把处于等待状态的 tasks 分配给有空闲资源的 executors,那么这个 “把 task...这就是本文要探讨的内容,将通过以下四小节来进行剖析: 打散可用的 executors 对所有处于等待状态的 taskSet 进行排序 根据是否有新增的 executor 来决定是否更新各个 taskSet...的可用本地性集合 结合 taskSets 的排序及本地性集合将 tasks 分配给 executors 打散可用的 executors “把 task 分配给 executor” 这一过程是在函数 TaskSchedulerImpl...这篇文章对两种调度方式以及如何排序做做了十分详细的说明 根据是否有新增的 executor 来决定是否更新各个 taskSet 的可用本地性集合 关于更新 taskSet 的可用本地性集合,这里值进行简单说明,更多内容请移步 Spark

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到
    领券