尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
尚硅谷大数据技术之 Hadoop(MapReduce)
(作者:尚硅谷大数据研发部)
版本:V2.0
第 1 章 MapReduce 概述
1.1 MapReduce 定义
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
1.2 MapReduce 优缺点
1.2.1 优点
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
1.2.2 缺点
1.3 MapReduce 核心思想
MapReduce 核心编程思想,如图 4-1 所示。
图 4-1 MapReduce 核心编程思想
1)分布式的运算程序往往需要分成至少 2 个阶段。
2)第一个阶段的 MapTask 并发实例,完全并行运行,互不相干。
3)第二个阶段的 ReduceTask 并发实例互不相干,但是他们的数据依赖于上一个阶段的所有
MapTask 并发实例的输出。
4)MapReduce 编程模型只能包含一个 Map 阶段和一个 Reduce 阶段,如果用户的业务逻辑
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
非常复杂,那就只能多个 MapReduce 程序,串行运行。
总结:分析 WordCount 数据流走向深入理解 MapReduce 核心思想。
1.4 MapReduce 进程
1.5 官方 WordCount 源码
采用反编译工具反编译源码,发现 WordCount 案例有 Map 类、Reduce 类和驱动类。且
数据的类型是 Hadoop 自身封装的序列化类型。
1.6 常用数据序列化类型
表 4-1 常用的数据类型对应的 Hadoop 数据序列化类型
Java 类型
boolean
byte
int
float
long
double
String
map
array
1.7 MapReduce 编程规范
Hadoop Writable 类型
BooleanWritable
ByteWritable
IntWritable
FloatWritable
LongWritable
DoubleWritable
Text
MapWritable
ArrayWritable
用户编写的程序分成三个部分:Mapper、Reducer 和 Driver。
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
1.8 WordCount 案例实操
1.需求
在给定的文本文件中统计输出每一个单词出现的总次数
(1)输入数据
hello.txt
(2)期望输出数据
atguigu
2
banzhang 1
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
1
cls 2
hadoop
jiao 1
ss
2
xue 1
2.需求分析
按照 MapReduce 编程规范,分别编写 Mapper,Reducer,Driver,如图 4-2 所示。
图 4-2 需求分析
3.环境准备
(1)创建 maven 工程
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网
尚硅谷大数据技术之 Hadoop(MapReduce)
———————————————————————————
——
(2)在 pom.xml 文件中添加如下依赖
junit
junit
RELEASE
org.apache.logging.log4j
log4j-core
2.8.2
org.apache.hadoop
hadoop-common
2.7.2
org.apache.hadoop
hadoop-client
2.7.2
org.apache.hadoop
hadoop-hdfs
2.7.2
更多 Java –大数据 –前端 –python 人工智能资料下载,可百度访问:尚硅谷官网