博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark源码剖析 - SparkContext的初始化(六)_创建和启动DAGScheduler
阅读量:4585 次
发布时间:2019-06-09

本文共 588 字,大约阅读时间需要 1 分钟。

6.创建和启动DAGScheduler

DAGScheduler主要用于在任务正式交给TaskSchedulerImpl提交之前做一些准备工作,包括:创建Job,将DAG中的RDD划分到不同的Stage,提交Stage,等等。创建DAGScheduler的代码如下:

DAGScheduler的数据结构主要维护jobId和stageId的关系、Stage、ActiveJob、以及缓存的RDD的partitions的位置信息,见代码:

DAGSchedulerEventProcessLoop能处理的消息类型,比如JobSubmitted、MapStageSubmitted、StageCancelled、JobCancelled、JobGroupCancelled、AllJobsCancelled、ExecutorAdded、ExecutorLost、BeginEvent、GettingResultEvent、completion、TaskSetFailed、ResubmitFailedStages。DAGSchedulerEventProcessLoop接受这些消息后会有不同的处理动作。DAGSchedulerEventProcessLoop的代码实现如下:

 

转载于:https://www.cnblogs.com/swordfall/p/9314940.html

你可能感兴趣的文章
HDU5036 Explosion(期望 bitset)
查看>>
有限自动机的构造和识别
查看>>
初试机器学习
查看>>
DNS的功能-域名空间、域名注册和域名解析
查看>>
矩阵分解(matrix factorization)
查看>>
大型网站的架构设计与演进
查看>>
‘3 sigma’rule(68–95–99.7 rule)
查看>>
【并发编程】延时初始化
查看>>
编程珠玑--左旋字符串
查看>>
【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十四:储存模块
查看>>
关于js的几道经典题(作用域、原型链等)自己做的
查看>>
【菜鸟学Python】函数的定义及调用
查看>>
宜信微服务任务执行器
查看>>
POJ 2774 Long Long Message 后缀数组
查看>>
datagrid中设置编辑,删除列是否可以访问
查看>>
Linux下I/O复用 Select与Poll
查看>>
python全栈学习--day10(函数进阶)
查看>>
Android初学第19天
查看>>
Flask框架web开发
查看>>
【linux就该这么学】-08
查看>>