能详细说一下 driver, executor, job, stage, task 之间的关系吗
来源:6-4 -Spark运行架构及注意事项
pain7
2020-06-20
拆开来,我都明白,但是从整体的角度看,我就有点不大明白了。特别是对于 executor,这是一个硬件层面还是应用程序层面的啊。还有 executor 是有多个的,这个个数是随意指定的吗,跟分区数有关系吗?还有 job 为什么会有很多 stage 啊
写回答
2回答
-
我以onyarn模式来解释:executor就是运行在yarn上的nm中的一个container中的,这不是硬件的概念,这是一哥进程的概念,executor是可以多个的,就是多个可以运行在YARN集群之上。 一个job只要涉及到shuffle必然就是会拆分多个stage的。分区数的决定因素有很多,比如读数据进来默认分区数,你也可手动设置;reducebykey等算子也可以手工传入分区数
032020-06-20 -
Michael_PK
2020-06-20
一个job就是action触发的,一个job可能就会对应1到N个stage,每个stage里面可以包含多个task,你可以跑一个sparkshell,然后通过UI上来观察,就比较好理解了
00
相似问题