Hadoop集群搭建前安装准备参考:
一、Hadoop系统应用之安装准备(一)(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
一、Hadoop系统应用之安装准备(二)(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
Hadoop集群搭建过程参考:
二、Hadoop系统应用之Hadoop集群搭建(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
文章目录
MapReduce简介
MapReduce是Hadoop系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是目前分布式计算模型中应用较为广泛的一种。
使用MapReduce操作海量数据时,每个MapReduce程序被初始化为一个工作任务,每个工作任务可以分为Map和Reduce两个阶段。Map阶段负责将任务分解,即把复杂的任务分解成若干个“简单的任务”来并行处理,但前提是这些任务没有必然的依赖关系,可以单独执行任务;Reduce阶段负责将任务合并,即把Map阶段的结果进行全局汇总。
操作实例之词频统计(本地运行模式)
在本地运行模式使用MapReduce程序实现词频统计功能。
1、MapReduce操作原理
- MapReduce通过默认组件TextInputFormat将待处理的数据文件(如text1.txt内容为hello world和text2.txt内容为hello Hadoop),把每一行的数据都转变为<key,value>键值对,如<0,hello world>,<0,hello Hadoop>,其中0为行偏移量,hello world为行数据。
- 调用Map()方法,将单词进行切割并进行计数,输出键值对作为Reduce阶段的输入键值对,如<hello,1>,<world,1>,<hello,1>,<Hadoop,1>。
- 调用Reduce()方法将单词汇总、排序后,通过TextOutputFormat组件输出到结果文件中,如<hello,2>,<world,1>,<Hadoop,1>。
2、操作过程
(需启动集群的HDFS和YARN服务)
2.1 包的创建
在src/main/java下新建Package,名为com.itcast.mr.wordcount。之后分别在该包下创建三个类文件:WordCountMapper.java、WordCountReducer.java、WordCountDriver.java。
2.2 Mapper类文件的创建
在WordCountMapper.java文件下新增如下内容,实现MapReduce的Map阶段。
public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
/**
* 这里就是mapper阶段具体业务逻辑实现的方法 该方法的