Apache spark 关于maxPartitionId,ShuffleMapStage和ResultStage之间有区别吗?
我不明白为什么ShuffleMapStage maxPartitionId是Apache spark 关于maxPartitionId,ShuffleMapStage和ResultStage之间有区别吗?,apache-spark,sparkcore,Apache Spark,Sparkcore,我不明白为什么ShuffleMapStage maxPartitionId是stage.numPartitions-1,而ResultStage是s.rdd.partitions.length-1。当我深入到stage.numPartitions时,我发现stage.numPartitions相当于rdd.partitions.length。为什么不使用ShuffleMapStagerdd.partitions.length而不是stage.numPartitions 相关代码如下所示 priv
stage.numPartitions-1
,而ResultStage是s.rdd.partitions.length-1
。当我深入到stage.numPartitions
时,我发现stage.numPartitions
相当于rdd.partitions.length
。为什么不使用ShuffleMapStagerdd.partitions.length
而不是stage.numPartitions
相关代码如下所示
private[spark] class DAGScheduler(){
//.........
stage match {
case s: ShuffleMapStage =>
outputCommitCoordinator.stageStart(stage = s.id, maxPartitionId = s.numPartitions - 1)
case s: ResultStage =>
outputCommitCoordinator.stageStart(
stage = s.id, maxPartitionId = s.rdd.partitions.length - 1)
}
//.........
}
需要帮助!需要帮助!