1.读取文件 需要用到抽象类InputFormat的子类TextInputFormat,把文件每行变成键值对如图,此时k1是距离文本开头的偏移量,v1为每行的内容,该键值对因TextInputFormat而产生,不需要手动书写
2.进入Map ,自定义Map逻辑,将k1 v1转为k2 v2
继承Mapper,重写map方法
3.进入shuffle阶段,此时拿到的数据是上述k2 v2
分区 排序 规约 分组
4.通过shuffle流程以后,我们会得到新的k2 v2
5.进入Reduce阶段,自定义Reduce逻辑,将新的k2 v2 转换为k3 v3
继承Reducer,重写reduce方法
6.通过抽象类OutputFormat的子类TextOutputFormat将k3 v3 写到一个普通的文本文件中,最终得到结果