我有一个5个工作节点集群,每个集群有1个执行程序,每个执行程序有4个核心。
我有一个分布在20个分区上的rdd,我使用rdd.isEmpty
方法检查。在火花历史记录服务器中,我可以看到三个不同的"作业"使用相同的"描述":
JobId Description Tasks
3 isEmpty at myFile.scala:42 1/1
4 isEmpty at myFile.scala:42 4/4
5 isEmpty at myFile.scala:42 15/15
当我点击这些作业/阶段时,它们都具有相同的DAG。可能导致isEmpty
阶段分为3个不同阶段的原因是什么?
此外,当我将RDD从20个分区更改为8个分区时,历史记录服务器显示:
JobId Description Tasks
3 isEmpty at myFile.scala:42 1/1
4 isEmpty at myFile.scala:42 4/4
5 isEmpty at myFile.scala:42 3/3
在这两种情况下,这3个阶段的任务总和等于rdd的分区总数。为什么它不会像以下一样放在一个阶段:
JobId Description Tasks
3 isEmpty at myFile.scala:42 20/20