MapReduce处理数据的过程
input ->map ->shuffle ->reduce ->output
-a 针对input和output来讲
正常情况下,你不需要编写代码,只需要指定需要处理的文件路径即可
-b map和reduce中间有一个shuffle阶段
属于MapReduce框架自己的事情,当然我们可以进行设置
-c 核心关注
map
可以借助idea开发工具查看源码:(一般在源码中都有该类或方法的使用,尽量看源码可以提高你的代码书写水平)
从源码中可以看出该类有四个参数:key的输入和输出,value的输入和输出
public class Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>
而且在该类中可以看到map这个方法,我们重点就是这个map方法,只要理解map方法,那么map的过程就容易理解了:
protected void map(KEYIN key, VALUEIN value,
Context context) throws IOException, InterruptedException {
context.write((KEYOUT) key, (VALUEOUT) value);
}