Spark源码解析(四)第一部分总结

Spark执行流程解析
本文解析了Spark应用程序的执行流程,从SparkContext初始化开始,详细介绍了TaskScheduler、DAGScheduler的作用及启动过程。并通过实例说明了Application、Job、Stage、Task之间的关系。

1.Spark源码解析第一阶段总结:

在SparkContext类中有应用程序执行的三大核心组件,代码如下:

/**
 *  注释:第四步:创建任务调度TaskScheduler
 *  如果集群管理器是standalone模式:该方法返回(StandaloneSchedulerBackend,TaskSchedulerImpl)
 */
// Create and start the scheduler
val (sched, ts) = SparkContext. createTaskScheduler(this, master, deployMode)
_schedulerBackend = sched
_taskScheduler = ts
 
/**
 *  注释:第五步:创建和启动DAGScheduler
 *  1、内部初始化了一个:DAGSchedulerEventProcessLoop 用来处理各种任务
 *  2、在 DAGSchedulerEventProcessLoop 创建的时候,构造函数的内部的最后一句代码执行了 DAGSchedulerEventProcessLoop的启动。
 *  将来任务的提交,取消等,都会发送一个事件给 DAGSchedulerEventProcessLoop
 *  从而触发 dagScheduler.onRecevie() 的运行。
 */
_dagScheduler = new DAGScheduler(this)
_heartbeatReceiver.ask[Boolean](TaskSchedulerIsSet)
 
/**
 *  注释:第六步:TaskScheduler的启动,主要任务:backend.start()
 */
// start TaskScheduler after task
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值