搬个凳子,捧着瓜子,让我们开始唠嗑。
首先,字面解读下“DAGScheduler”,可以理解为是一个DAG调度器,DAG又是啥呢?学术名叫:有向无环图。一个spark应用程序提交,spark引擎就是通过DAGScheduler将其切分成一个个stage。让我们先来看看DAGScheduler是在哪里起的作用的。经典图:
那这个DAGScheduler的职能到底是什么呢?总结成两点:
1.维护waiting jobs和active jobs,维护waiting stages、active stages和failed stages,以及与jobs的映射关系;
2.面向stage的切分。
这时候你可能表示不服,说你说这样就是这样啊。这时候我就要开始讲事实,摆证据了,一言不合就晒证据(这点得向之前微博上炒的火热的曹云金学习)。