apache-spark - ShuffleMapStage 和 ResultStage 关于 maxPartitionId 有区别吗?
问题描述
我很困惑为什么 ShuffleMapStage maxPartitionId 是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)
}
//.........
}
解决方案
推荐阅读
- c# - 数据访问层的起订量
- angular - Angular 6 错误:CSSSyntaxError - 编译失败
- c# - 如何安装 Newtonsoft.Json.dll 只是复制?
- java - 我想在Java中划分两个二进制数
- google-api - google drive API返回资源不足
- spring-boot - 如何从另一个模块加载 log4j2.xml 配置文件
- docker - 在 Redis 容器上使用 Redis-CLI
- angular - 在Angular中获取路由参数的有效方法
- sql - SQL Server 查询的动态筛选器
- c - 与打印文本和 NL 相比,首先打印 NL,然后是文本,然后手动刷新的任何原因?