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类
MapReduce环境准备相关推荐
- windows 环境下Eclipse开发MapReduce环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- eclipse中hadoop2.3.0环境部署及在eclipse中直接提交mapreduce任务
转自:http://my.oschina.net/mkh/blog/340112 1 eclipse中hadoop环境部署概览 eclipse中部署hadoop包括两大部分:hdfs环境部署和mapr ...
- Linux上搭建Hadoop2.6.3集群以及WIN7通过Eclipse开发MapReduce的demo
随笔 - 70 文章 - 0 评论 - 88 Linux上搭建Hadoop2.6.3集群以及WIN7通过Eclipse开发MapReduce的demo 近期为了分析国内航空旅游业常见安全漏洞,想到 ...
- hadoop环境搭建之伪分布集群环境搭建(单节点)
首先,尼玛哥是一名研究生,可以说很多学习的知识都是来源于同门师兄弟,本着将自己学习到的东西以博客的形式分享到网络上,不仅仅可以让自己回顾,也可以帮助需要学习的小伙伴们,供大家一同学习. 首先,hado ...
- 第五章-分布式并行编程框架MapReduce
第五章-分布式并行编程框架MapReduce 文章目录 第五章-分布式并行编程框架MapReduce MapReduce概述 分布式并行编程 MapReduce模型和函数 MapReduce体系结构 ...
- Windows下使用IDEA+Maven搭建本地Hadoop环境
IDEA结合Maven搭建本地MapReduce环境 文章目录 IDEA结合Maven搭建本地MapReduce环境 前言 环境 配置Maven 新建项目 初始化 添加apache源 添加Hadoop ...
- Hadoop MapReduce作业的基本构成要素
Table of Contents MapReduce模型 我的第一个MapReduce应用程序的架构 Hadoop的核心MapReduce MapReduce任务的构成要素 MapReduceInt ...
- 大数据技术原理与应用 概念、存储、处理、分析和应用(林子雨)——第七章 MapReduce
第七章 MapReduce 7.1 概述 7.1.1 分布式并行编程 在过去的一段时间里,CPU 的性能一直遵循着"摩尔定律",大约每隔 18 个月,性能就会翻一番.这意味着不需要 ...
- mapreduce 编程模型
MapReduce是在总结大量应用的共同特点的基础上抽象出来的分布式计算框架,它适用的应用场景往往具有一个共同的特点:任务可被分解成相互独立的子问题.基于该特点,MapReduce编程模型给出了其分布 ...
- Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce
资源管理器YARN和分布式计算框架MapReduce 第一章 Hadoop MapReduce 是什么 一 MapReduce 介绍 1. 基本介绍 2. MR数据流程方向 3. MR 原语/ 核心思 ...
最新文章
- Java截取最后一个/后面的所有字符
- Linux 新增一个用户命令 adduser
- linux如何卸载netstat,linux – Netstat -s显示(并且正在增长)“从接收队列中删除的数据包”和“数据包在接收队列中崩溃”...
- 三层架构介绍和MVC设计模型介绍
- XML--使用XML来将字符串分隔成行数据
- java文本框双击可编辑_java swing 文本域双击变为可编辑
- 带你利用一句话完成转场动画
- 5类6类7类网线对比_孩子们长高的黄金时期是从3月到5月,这阶段多吃6类食物长得快...
- matlab 判断鼠标按下_Simulink(其他校验模块)+Matlabgui(鼠标响应事件)+Stateflow汽车运动逻辑状态(二)...
- win7电脑更改不了分辨率的解决方法
- 『Python Kivy』Kivy模板语言KV说明
- [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)
- vb 循环放音乐_为何洒水车一直无限循环播放《兰花草》这首歌呢?
- 如何安装uclient_UClient软件下载-UClient客户端下载 v2.0.0.1580官方版--pc6下载站
- Linux TCP/UDP调试助手下载安装(转载备忘)
- 使用js实现网页录音并上传服务器
- 2022年防爆电气考试题及答案
- 进程间通信方式有哪些?各自有哪些优缺点?
- MFC-CEdit派生一个只允许输入16进制数据的新类
- Java基础 快速学习(一)
热门文章
- 个人介绍网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
- node2vec python_Node2vec和networkx
- 软考高项-案例分析背诵
- matlab离散信号幅频相频特性,信号幅频相频特性画法(频率响应法).pdf
- 豪越智慧后勤解决方案(教育/高校)
- 什么是erp管理系统
- idea远程调试修改代码_利用IDEA远程调试代码
- IPM是如何控制三相电机的
- tomcat乱码问题解决
- cad怎样弄出放线的坐标_不知道如何定位放线?今天教大家一个快速准确放线方法(含实例)...