一、MapReduce流程分析
Map的任务是将大任务转换成小任务,Reduce是汇总的意思
注意:
1、所有的输入和输出都是key-value类型,总共四对
2、key2 value2和key3 value3数据类型一致,value3是一个集合,集合中的每个元素是value2
k1 value分别是偏移量和输入的数据 k2 value2是进行分词后的单词和频率 k3 value3 ,value3是一个集合
是value2的集合,这一步已经开始Reducer阶段,k4 value4是将value3中的集合进行计算得到的最终结果
java源码实现
结构分别来WordCountMain、WordCountMap、WordCountReduce
WordCountMain代码
package demo;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import com.sun.jersey.core.impl.provider.entity.XMLJAXBElem