spark学习-35-Spark的Map任务输出跟踪器MapOutputTracker

204 篇文章 480 订阅 ¥49.90 ¥99.00
本文详细介绍了Spark中的MapOutputTracker,包括其在SparkEnv初始化中的作用、MapOutputTrackerMaster和MapOutputTrackerWorker的功能,以及它们如何协调管理ShuffleMapTasks的输出位置。MapOutputTracker用于跟踪和管理shuffle过程中的map任务输出,加速数据传输给reduce任务。主要功能包括注册和注销Shuffle、获取map输出位置以及维护最新的输出状态。
摘要由CSDN通过智能技术生成

在这里插入图片描述

##1。在sparkEnv的初始化中有这样一段代码来初始化Map任务输出跟踪器MapOutputTracker
   mapOutputTracker用于跟踪map阶段任务的输出状态,此状态便于reduce阶段任务获取地址以及中间输出结果。每个map任务或者 reduce任务都会有唯一的标识。分别为mapId和reduceId.每个reduce任务的输入可能是多个map任务的输出,reduce会到各个map任务的所有节点上拉去Block,这一过程交shuffle,每批shuffle过程都有唯一的表示shuffleId。

val mapOutputTracker = if (isDriver) {
      new MapOutputTrackerMaster(conf, broadcastManager, isLocal)
    } else {
      new MapOutputTrackerWorker(conf)
    }

##2。在MapOutputTracker.scala文件中有这么多类

private[spark] sealed trait MapOutputTrackerMessage

private[spark] case class GetMapOutputStatuses(shuffleId: Int)
  extends MapOutp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值