MapReduce过程如图上图所示
1:切片会格式化出记录,以记录为单位调用map方法
2:map的输出映射成KV,kv会参与分区计算,拿着key的hash值算出分区号P。最终是K,V,P。
分区的数量等于Reduce的数量
3:内存缓冲区溢写磁盘时做一个2次排序,分区有序,且分区内key有序未来相同的一组key会相邻的排在一起。map过程中有一个内存缓冲区,默认100mb,每写满一次就会落磁盘。注意,是落在mapTask执行机的磁盘,不是hdfs。
4:merge。把不同MAP输出的文件,属于同一个分区的合并到一起
5:Reduce。
接下来用上面的原理图,去完成一次wordCount,以便带大家深入理解mapreduce原理
原创不易,转载请注明出处~