【MapReduce】基本编程方法和案例(Java)

【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>
            
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的冲浪码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值