1、任务调度流程
- 1、当一个spark任务提交的时候,首先需要为spark application创建基本的运行环境,也就是在Driver创建sparkContext,同时构建DAGScheduler和TaskScheduler
- 2、SparkContext向资源管理器申请exector运行资源
- 3、资源管理器为exector分配资源并创建exector进程,exector的运行状况通过心跳机制向资源管理器进行汇报
- 4、sparkContext根据RDD的依赖关系构建DAG图,构建完毕后,将DAG图提交给DAGScheduler,DAGScheduler开始划分stage,并将stage中的TaskSet发送给TaskScheduler
- 5、TaskScheduler将TaskSet中的task发送给exector运行,同时SparkContext将运行代码发送给exector
- 6、exector将task放入线程池进行运行,将执行结果反馈给TaskScheduler,TaskScheduler再将结果反馈给DAGScheduler,直到全部任务运行结束后,释放所有的资源
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。