![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop学习笔记
有心有梦
这个作者很懒,什么都没留下…
展开
-
MapReduce源码分析--Shuffle阶段
一、收集执行NewOutputCollector对象的write方法就开启了对map输出数据的收集过程: collector是一个MapOutputCollector类型的变量,它是实际执行收集数据功能的对象载体:private final MapOutputCollector<K,V> collector; 但是它的实际类型是一个MapOutputBuffer类型的对象,可以从debug时变量的类型信息里看到: 这是因为MapOutputBuffer实现了MapOutput原创 2020-06-08 18:26:44 · 244 阅读 · 0 评论 -
MapReduce源码分析--MapTask阶段
MapTask类继承自Task类,负责Map阶段的数据处理流程,它最主要的方法就是run(),这个方法用于执行当前的Map阶段的任务。作为命名作业的一部分运行此任务。此方法在子进程中执行,是调用用户提供的map,reduce等方法的方法。在这个run方法中,首先会发送task任务报告,与父进程做交流 :TaskReporter reporter = startReporter(umbilical);判断用的是新的MapReduceAPI还是旧的API ,waitForCompletion()就用sub原创 2020-06-07 20:08:24 · 203 阅读 · 0 评论