【MapReduce】系列学习笔记:
文章目录
1 MapReduce编程规范
MapReduce开发共有八个步骤
其中Map阶段2个步骤、Shuffle阶段4个步骤、Reduce阶段2个步骤
1.1 Map阶段
1、设置InputFormat
类,将数据切分为键值对,输入到第二步
2、自定义Map逻辑,将第一步的结果转换到另外的键值对,输出结果
1.2 Shuffle阶段
1、对输出的键值对进行分区
2、对不同分区的数据按照相同的key 排序
3、(可选)对分组过的数据初步规约,降低数据的网络拷贝
4、对数据进行分组,相同的key的value放入一个集合中
1.3 Reduce阶段
1、对多个Map任务的结果进行排序和合并,编写Reduce函数实现自己的逻辑,对输入的键值对进行处理,转为新的键值对输出
2、设置OutputFormat
类处理并保存Reduce输出的键值对数据
2 MapReduce编程流程
3 案例:WordCount
3.1 步骤分析
流程图:
3.2 编码
首先需要自己创建一个wordcount.txt并放入HDFS的wordcount目录中
3.2.1 导入依赖和打包jar
<packaging>jar</packaging>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>