标签: apache-spark scheduling job-scheduling
我试图了解Spark如何管理作业中各个阶段的执行计划。我在互联网上检查了很多内容,但似乎都没有回答我的特定问题。我也尝试阅读源代码,但对该项目中的文件和脚本数量不知所措。
我的问题如下:当作业提交给Spark驱动程序时,将创建一个DAG,其顶点是由随机操作分隔的实际阶段。我知道只有在所有阶段的父母都已经完成之前,阶段才能运行。但是,假设我们有一些独立的阶段(例如在join操作中),Spark如何运行不同的阶段?是FIFO吗?还是Spark并行运行它们?如果是,根据哪种调度算法?
预先感谢