Hadoop之MapReduce WordCount详细分析
2017-04-11 11:46
417 查看
MapReduce的设计思想
主要的思想是分而治之(divide and conquer),分治算法。
将一个大的问题切分成很多小的问题,然后在集群中的各个节点上执行,这既是Map过程。在Map过程结束之后,会有一个Ruduce的过程,这个过程即将所有的Map阶段产出的结果进行汇集。
写MapReduce程序的步骤:
1.把问题转化为MapReduce模型
2.设置运行的参数
3.写map类
4.写reduce类
例子:统计单词个数
将文件拆分成splits,每个文件为一个split,并将文件按行分割形成<key,value>对,MapReduce框架自动完成,其中行偏移量(即key值)包括了回车所占的字符数
将分割好的<key,value>对交给用户定义的map方法(TokenizerMapper)进行处理,生成新的<key,value>对。
得到map方法输出的<key,value>对后,Mapper会将它们按照key值进行排序,并执行Combine过程,将key至相同value值累加,得到Mapper的最终输出结果。
Reducer先对从Mapper接收的数据进行排序,再交由用户自定义的reduce方法(IntSumReducer)进行处理,
得到新的<key,value>对,并作为WordCount的输出结果
下面我们看官方给出的例子:
1:将Block块分割成三个Split
2:每个Split对应一个mapper
3: 三个mapper输出结果进行Shuffling,每个map的输出只是简单的key-value而非key-valuelist,
所以洗牌的工作就是将map输出转化为reducer的输入的过程。
在reducer开始之前shuffle要做的事情分为两步copy和sort 阶段。
转自:http://www.cnblogs.com/zhanghuijunjava/archive/2013/04/27/3036549.html
大小: 24 KB
大小: 35.3 KB
大小: 58.7 KB
大小: 38.7 KB
大小: 34.3 KB
查看图片附件
主要的思想是分而治之(divide and conquer),分治算法。
将一个大的问题切分成很多小的问题,然后在集群中的各个节点上执行,这既是Map过程。在Map过程结束之后,会有一个Ruduce的过程,这个过程即将所有的Map阶段产出的结果进行汇集。
写MapReduce程序的步骤:
1.把问题转化为MapReduce模型
2.设置运行的参数
3.写map类
4.写reduce类
例子:统计单词个数
将文件拆分成splits,每个文件为一个split,并将文件按行分割形成<key,value>对,MapReduce框架自动完成,其中行偏移量(即key值)包括了回车所占的字符数
将分割好的<key,value>对交给用户定义的map方法(TokenizerMapper)进行处理,生成新的<key,value>对。
得到map方法输出的<key,value>对后,Mapper会将它们按照key值进行排序,并执行Combine过程,将key至相同value值累加,得到Mapper的最终输出结果。
Reducer先对从Mapper接收的数据进行排序,再交由用户自定义的reduce方法(IntSumReducer)进行处理,
得到新的<key,value>对,并作为WordCount的输出结果
下面我们看官方给出的例子:
1:将Block块分割成三个Split
2:每个Split对应一个mapper
3: 三个mapper输出结果进行Shuffling,每个map的输出只是简单的key-value而非key-valuelist,
所以洗牌的工作就是将map输出转化为reducer的输入的过程。
在reducer开始之前shuffle要做的事情分为两步copy和sort 阶段。
转自:http://www.cnblogs.com/zhanghuijunjava/archive/2013/04/27/3036549.html
大小: 24 KB
大小: 35.3 KB
大小: 58.7 KB
大小: 38.7 KB
大小: 34.3 KB
查看图片附件
相关文章推荐
- 初学Hadoop之图解MapReduce与WordCount示例分析
- MapReduce中wordcount详细介绍(包括Hadoop1和Hadoop2版本)
- MapReduce 编程实战之WordCount案例详细分析
- 初学Hadoop之图解MapReduce与WordCount示例分析
- Hadoop之MapReduce WordCount分析
- 学习Hadoop MapReduce与WordCount例子分析
- Hadoop之wordcount源码分析和MapReduce流程分析
- hadoop之MapReduce WordCount分析
- Hadoop WordCount详细分析
- 初学Hadoop之图解MapReduce与WordCount示例分析
- Hadoop学习笔记之初识MapReduce以及WordCount实例分析
- 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析
- Hadoop之图解MapReduce与WordCount示例分析
- 【学习笔记】用Hadoop在MapReduce中WordCount简单程序运行详细流程
- Hadoop MapReduce基于新API的WordCount程序运行过程分析
- hadoop源代码分析(一)从wordCount开始,剖析mapreduce的运行机制
- hadoop源代码分析(二)从wordCount开始,剖析mapreduce的运行机制
- mapreduce中wordcount详细介绍(包括hadoop1和hadoop2版本)
- 初学Hadoop之图解MapReduce与WordCount示例分析
- hadoop wordcount源代码分析