4.3 调度核心组件

本文详细解析了Spark的调度机制,包括DagScheduler、TaskScheduler和BackendScheduler的作用和工作流程。重点介绍了DagScheduler如何通过有向无环图计算stage的DAG图,以及它在缓存跟踪、首选位置计算和故障恢复中的角色。
Spark调度核心组件
	1.DagScheduler
		direct acycle graph, 有向无环图调度器
		高级调度器,面向的是stage,为每个job计算stage的DAG图,跟踪rdd和stage的输出,找出最小的调度策略来执行job。
		该调度器提交stage给下层的task调度器,以taskSet的形式进行提交。

		spark stage通过将rdd进行切割,按照shuffle的边界进行切割。具有窄依赖RDD的操作串联到每个stage的一个taskset中。
		shuffle依赖的操作划分成两个stage,上一个stage的输出供下一个stage进行读取。

		DAG调度器决定运行每个task的首选位置。

		DAG调度器处理因stage输出文件丢失导致的故障,该种情况下,之前的stage需要被重新提交。其他原因的故障由task调度器
		来处理。
		- Job
			ActiveJob,用户调用action方法时,job通过submitJob方法进行提交。每个job需要多个阶段.
		- Stages
			ShuffleMapStage
			ResultStage
		- Tasks
			Spark执行单位,需要将每个task发送给主机来执行。
		- Cache tracking:
			Dag调度器能够找出哪些RDD被缓存了,放置rdd的重复计算。
		- Preferred locations 
			Dag调度器计算运行task的首选位置。
		- Cleanup:
	2.TaskScheduler
		任务调度器
	3.BackendScheduler
		后台调度器。

 

转载于:https://www.cnblogs.com/lybpy/p/9775666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值