map任务处理过程
第一:读取HDFS中的文件内容,对输入的每一行解析成<k1,v1>键值对, 每一对键值对调用一次map函数
第二:写自己的逻辑map函数,对输入的<k1,v1>处理,装换成新的<k2,v2> 键值对输出
第三:对输出的<k2,v2>进行分区
第四:对不同分区的数据,按照key进行排序和分组,分组时把相同的key 的value放到一个集合中
第五:(可选)分组后进行数据的归约处理
reduce任务处理
第一:对多个map任务的输出,按照不同的分区,通过网络copy到不同的 reduce节点
第二:对多个map任务的输出进行合并,排序。写自己的reduce函数逻辑, 对输入的key,value处理,并转换成新的key,value输出
第三:把reduce的输出保持到本地磁盘中