What is the output output process of MapReduce
This article mainly explains "what is the output output process of MapReduce". Interested friends may wish to have a look at it. The method introduced in this paper is simple, fast and practical. Now let the editor take you to learn "what is the output output process of MapReduce"?
1. First, take a look at the execution entry / /-- ReduceTask.javapublic void run (JobConf job, TaskUmbilicalProtocol umbilical) throws IOException, InterruptedException, ClassNotFoundException {job.setBoolean ("mapreduce.job.skiprecords", this.isSkipping ()); if (this.isMapOrReduce ()) {this.copyPhase = this.getProgress (). AddPhase ("copy") This.sortPhase = this.getProgress (). AddPhase ("sort"); this.reducePhase = this.getProgress (). AddPhase ("reduce");} TaskReporter reporter = this.startReporter (umbilical); boolean useNewApi = job.getUseNewReducer (); / / reducetask initialization work this.initialize (job, this.getJobID (), reporter, useNewApi); if (this.jobCleanup) {this.runJobCleanupTask (umbilical, reporter) } else if (this.jobSetup) {this.runJobSetupTask (umbilical, reporter);} else if (this.taskCleanup) {this.runTaskCleanupTask (umbilical, reporter);} else {this.codec = this.initCodec (); RawKeyValueIterator rIter = null; ShuffleConsumerPlugin shuffleConsumerPlugin = null; Class combinerClass = this.conf.getCombinerClass (); CombineOutputCollector combineCollector = null! = combinerClass? New CombineOutputCollector (this.reduceCombineOutputCounter, reporter, this.conf): null; Class