MapReduce环境准备

目录

MapReduce编程规范

WordCount案例实操

环境准备


MapReduce编程规范

用户编写的程序分成三个部分:Mapper、Reducer、Driver

1、Mapper阶段

1)用户自定义的Mapper要继承自己的父类。

2)Mapper的输入数据是KV对的形式(KV的类型可自定义)

3)Mapper中的业务逻辑写在map()方法中。

4)Mapper的输出数据是KV对的形式(KV的类型可自定义)

5)map()方法(MapTask进程)对每一个<K,V>调用一次。

2、Reducer阶段

1)用户自定义的Reducer要继承自己的父类。

2)Reducer的输入数据类型对应Mapper的输出数据类型,也是KV。

3)Reducer的业务逻辑写在reduce()方法中。

4)ReduceTask进程对每一组相同k的<k,v>组调用一次reduce()方法。

3、Driver阶段

相当于YARN集群的客户端,用于提交我们整个程序到YARN集群,提交的是封装了MapReduce程序相关运行参数的job对象。

WordCount案例实操

本地测试

1、需求

统计出给出的文本文件中统计出每一个单词出现的总次数。

1)输入数据

新建一个文本文件命名为:HYF.txt

2)期望输出数据

HYF 2;LJY1;LQQ 2;

CZF 1;  MGQ 1;CDH 2; WJJ 1;

2、需求分析

按照MapReduce编程规范,分别编写Mapper、Reducer、Driver。

环境准备

1)常见waven工程,命名为MapReduceDemo

文件》新建》项目

 

 更改maven下的配置

文件》设置》搜索栏》输入maven

在pom.xml文件中添加如下依赖 

<dependencies>

    <dependency>

        <groupId>org.apache.hadoop</groupId>

        <artifactId>hadoop-client</artifactId>

        <version>3.1.3</version>

    </dependency>

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>4.12</version>

    </dependency>

    <dependency>

        <groupId>org.slf4j</groupId>

        <artifactId>slf4j-log4j12</artifactId>

        <version>1.7.30</version>

    </dependency>

</dependencies>

在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties” 

 操作:在resources下单击右键》新建》文件

 在log4j.properties文件中填入

log4j.rootLogger=INFO, stdout  

log4j.appender.stdout=org.apache.log4j.ConsoleAppender  

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  

log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n  

log4j.appender.logfile=org.apache.log4j.FileAppender  

log4j.appender.logfile.File=target/spring.log  

log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  

log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

 在项目src/main/java下创建一个 软件包,命名为:com.atguigu.mapreduce.wordcou

操作:java路径下单击右键》新建》软件包

 在包com.atguigu.mapreduce.wordcount下新建三个类

分别命名为:

WordCountMapper;WordCountReducer;WordCountDriver

操作:在包下单击右键》新建》java类

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是搭建MapReduce环境的步骤: 1. 安装Hadoop:首先,您需要安装Hadoop。您可以从Hadoop官方网站下载适合您操作系统的二进制文件,并按照官方文档中的说明进行安装。 2. 配置Hadoop:安装完成后,您需要进行一些配置。主要的配置文件是`core-site.xml`、`hdfs-site.xml`和`mapred-site.xml`。您可以根据您的需求进行相应的配置,例如设置Hadoop的工作目录、数据存储目录、日志目录等。 3. 启动Hadoop集群:在配置完成后,您可以使用以下命令启动Hadoop集群: ```shell start-dfs.sh # 启动HDFS start-yarn.sh # 启动YARN ``` 4. 准备输入数据:在运行MapReduce作业之前,您需要准备输入数据。您可以将数据上传到HDFS中的某个目录中,例如: ```shell hdfs dfs -mkdir -p /input # 创建输入目录 hdfs dfs -put <本地文件路径> /input # 将本地文件上传到输入目录 ``` 5. 编写MapReduce程序:接下来,您需要编写MapReduce程序。您可以使用Java、Python等编程语言来编写程序。在程序中,您需要定义Mapper和Reducer函数,并实现相应的逻辑。 6. 打包和上传程序:完成程序编写后,您需要将程序打包成JAR文件,并上传到Hadoop集群中。您可以使用以下命令将JAR文件上传到HDFS中的某个目录: ```shell hdfs dfs -mkdir -p /mapreduce # 创建程序目录 hdfs dfs -put <本地JAR文件路径> /mapreduce # 将JAR文件上传到程序目录 ``` 7. 运行MapReduce作业:最后,您可以使用以下命令来运行MapReduce作业: ```shell yarn jar /mapreduce/<JAR文件名>.jar <主类名> <输入目录> <输出目录> ``` 以上是搭建MapReduce环境的基本步骤。根据您的需求和具体情况,可能还需要进行其他配置和操作。请参考Hadoop官方文档以获取更详细的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值