Apache spark 工作间隔

Apache spark 工作间隔,apache-spark,yarn,Apache Spark,Yarn,在spark UI中,我想知道在工作和寻找任何减少工作的方法之间发生了什么,特别是在收集和编写拼花地板之前。 在提交拼花地板之前,我看到了一个很长的休息时间,差不多1分钟。考虑到整个应用程序需要2分钟,它占了很大比例。这种休息是否通常意味着“火花”会对所有工人进行检查并收集数据?即使如此,拼花前的间隔也比其他动作(如收集或第一次)长得多。 谢谢 这是图片 根据我的经验,这种延迟通常出现在您工作的驾驶员部分忙于工作时。例如,如果您执行一个.collect(),然后在生成的数组上迭代,则该工作将在驱

在spark UI中,我想知道在工作和寻找任何减少工作的方法之间发生了什么,特别是在收集和编写拼花地板之前。 在提交拼花地板之前,我看到了一个很长的休息时间,差不多1分钟。考虑到整个应用程序需要2分钟,它占了很大比例。这种休息是否通常意味着“火花”会对所有工人进行检查并收集数据?即使如此,拼花前的间隔也比其他动作(如收集或第一次)长得多。 谢谢

这是图片

根据我的经验,这种延迟通常出现在您工作的驾驶员部分忙于工作时。例如,如果您执行一个
.collect()
,然后在生成的
数组上迭代,则该工作将在驱动程序上按顺序完成,并将导致在此期间没有任务分配给执行器。

这也是我的猜测,但我对显示在执行器上完成的收集作业的条形图感到困惑。我想知道我是否打对方付费电话,间隔时间和间隔后的实际执行人是怎么回事。为了减少延误,我应该怎么做?增加驱动核心?如果没有一些代码示例,很难进一步推测。即使是像
.collect().toMap
这样看起来很好的东西也会导致驱动程序挂起很长时间,因为它会在驱动程序上按顺序迭代本地数组。如果是这样的话,更多的内核将不会有帮助,因为它是单线程的。