Hadoop MapReduce运行过程
整个MapReduce的过程大致分为 Map --> Combine --> Reduce(先Shuffle) 三个部分。 Input and Output types of a MapReduce job: (input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output) mapreduce实际的处理过程可以理解为 Input->Map->Sort->Combine->Partition->Reduce->Output 。 例如输入为两行的文本: Hello World Bye World Hello Hadoop Goodbye Hadoop 1)Input阶段,通过InputFormat接口从HDFS中读取数据,每一行解析成一个<k,v>,然后输入到map中。 <0, Hello World Bye World> , <1, Hello Hadoop Goodbye Hadoop> 2)Map阶段,对输入的(key,value)对进行处理,生成新的<Key, Value>。 对于示例中的第一行输入,map过程输出是: < Hello, 1> < World, 1> < Bye, 1> < World, 1> 对第二行输入,map过程输出是: < Hello, 1>