什么是spark UI事件时间轴中的调度程序延迟

wor*_*tor 13 apache-spark

我正在使用YARN环境运行spark程序,带有选项--master yarn-cluster.

当我打开一个spark应用程序的应用程序主人时,我Scheduler Delay在一个阶段看到了很多.其中一些甚至超过10分钟.我想知道它们是什么以及为什么需要这么长时间?

更新:通常在执行程序真正开始执行任务之前,像aggregateByKey这样的操作会花费更多的时间(即调度程序延迟).为什么?

Dea*_*ler 14

打开"显示附加指标"(单击向右指向的三角形使其指向下方)并将鼠标悬停在"计划程序延迟"复选框上.它显示了这个工具提示:

调度程序延迟包括将任务从调度程序发送到执行程序的时间,以及将任务结果从执行程序发送到调度程序的时间.如果调度程序延迟很大,请考虑减小任务的大小或减小任务结果的大小.

调度程序是主服务器的一部分,它将作业划分为任务阶段,并与底层集群基础结构协同工作以在集群中分发它们.

  • 如果核心少于80K,许多任务将等待一个空插槽。此外,诸如join和aggregate *以及fold *,reduce *和groupBy之类的操作需要上游任务对它们进行数据混排,因此它们必须等到这些完成之后(尽管他们可以开始提取一些可用的数据)。 (2认同)