个人随笔
目录
WordCount运行流程详解
2019-11-21 23:56:10

给定任意的HDFS 的输入目录,其内部数据为“f a c d e……”等用空格字符分隔的字符串,通过使用MapReduce 计算框架来统计以空格分隔的每个单词出现的频率,输出结果如,,形式的结果到HDFS 目录中。

MapReduce 将作业的整个运行过程分为两个阶段:Map 阶段Reduce 阶段。

MapReduce过程

1)首先从hdfs上读取文件,将文件进行切片,每个切片对应一个map任务;
2)之后数据经过map处理后进行分区,分区的个数与reduce任务有关系;
3)经过分区以后进入map的shuffle阶段,在此阶段要进行排序。然后进入reduce的shuffle阶段,fetch&copy Map的输出数据,此阶段要进行sort和merge,将数据进行排序和合并到一个文件中;
4)最后经过group后,进行reduce处理,然后将数据保存在hdfs上。

sort&merge:排序和将所有的小文件合并成一个大文件;

group过程:将相同的key对应的val分组成iterable。

通常我们把从Mapper 输出数据到Reduce 读取数据之间的过程称之为shuffle

总结:

map过程实际上就是将一组键值(k1,v1)对打散成一组新的键值对(k2,v2);
reduce是将排序好的键值对,按照相同的键k2合并成一个(k2,value_list)。

 1656

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2