gwgyk 发表于 2014-11-1 21:52 他的具体实现有吗? 上面只是猜测,只有看到具体实现,才能明白他的作用 |
gwgyk 发表于 2014-11-1 21:52 value是偏移量,也就是Integer,为7,包括逗号 说是集合的大小有点笼统 |
sstutu 发表于 2014-11-1 10:37 size不是就是返回该map集合的大小吗? |
gwgyk 发表于 2014-11-1 09:31
把size的实现也贴出来一下 由于map有key及value,因此uniqueHostsMap只是map的一个对象,因此这里的string是key也就是分割的一个字符串比如 1,1,1,1 2,2,2,2 那么key就是 1,1,1,1 value是偏移量,也就是Integer,为4 如果不出意外uniqueHostsMap.size();很有可能返回的是Integer,也就是是4. 但是这个需要你贴出size的实现。 |
howtodown 发表于 2014-10-31 21:46 在JobTracker中,getNumberOfUniqueHosts()代表是什么意思呢? |
本帖最后由 gwgyk 于 2014-11-1 09:32 编辑 他的实现是JobTracker中的getNumberOfUniqueHosts, 这个方法主要用来干什么呢?
uniqueHostsMap的定义为:
|
可以参考这篇文章,多少会有些帮助 MapReduce作业的生命周期源码分析之任务分配 |
参考下面
从上面的代码中我们可以知道,JobInProgress的obtainNewMapTask是用来分配map task的,其主要调用findNewMapTask,根据TaskTracker所在的Node从nonRunningMapCache中查找TaskInProgress。JobInProgress的obtainNewReduceTask是用来分配reduce task的,其主要调用findNewReduceTask,从nonRunningReduces查找TaskInProgress。 知道obtainNewMapTask分配任务,getNumberOfUniqueHosts只是一个参数,对于这个参数是什么,你需要进一步提供它的实现代码,大家一起研讨。 |
你这是看得哪个版本的api |