第4章 MapReduce分布式计算框架-【千锋教育】Hadoop大数据开发实战(慕课版)
2023-03-21
|
97页
|
105人阅读
|
1人下载
教辅
内容正文:
第4章 MapReduce分布式计算框架
认识MapReduce
MapReduce编程组件
MapReduce作业解析
MapReduce工作原理
Shuffle阶段
优化--数据倾斜
MapReduce典型案例—排序
MapReduce经典案例—倒排索引
MapReduce经典案例—连接
MapReduce经典案例—平均分以及百分比
经典案例—过滤敏感词汇
认识MapReduce
MapReduce编程组件
MapReduce作业解析
MapReduce工作原理
Shuffle阶段
优化--数据倾斜
01
02
04
05
03
06
目 录
CATALOUGUE
初心至善 匠心育人
MapReduce经典案例—排序
MapReduce经典案例—倒排索引
MapReduce经典案例—连接
MapReduce经典案例—平均分以及百分比
MapReduce经典案例—过滤敏感词汇
01
02
04
05
03
目 录
CATALOUGUE
初心至善 匠心育人
理解MapReduce的基本原理
掌握MapReduce程序设计方法
理解经典案例WordCount的实现原理
掌握MapReduce运行流程
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
4.1
认识MapReduce
4.1.1
MapReduce核心思想
4.1.2
MapReduce编程模型
4.1.3
MapReduce编程案例—WordCount
初心至善 匠心育人
4.1 认识MapReduce
MapReduce的核心思想是将大数据分而治之,即将数据通过一定的数据划分方法,分成多个较小的具有同样计算过程的数据块,数据块之间不存在依赖关系,将每一个数据块分给不同的节点去处理,最后将处理的结果汇总。
具体来说,对大量顺序式数据元素或者记录进行扫描和对每个数据元素或记录做相应的处理并获得中间结果的两个过程抽象为Map操作,对中间结果进行收集整理和产生最终结果并输出的过程被抽象为Reduce操作。
MapReduce提供统一架构来隐藏系统层的细节,实现了自动并行处理,如计算任务的自动划分和调度、数据的自动化分布式存储和划分、处理数据与计算任务的同步、结果数据的收集整理、系统通信、负载平衡、计算性能优化处理、处理节点出错检测和失效恢复等。
4.1.1 MapReduce核心思想
初心至善 匠心育人
4.1 认识MapReduce
MapReduce是一种分布式离线并行计算框架,主要用于大规模数据集(大于1TB)的并行计算。Hadoop MapReduce可以看作Google MapReduce的克隆版。
MapReduce的特点是易于编程,具有良好的扩展性,具有高容错性,适合PB级以上海量数据的离线处理。MapReduce的两大核心思想是Map(映射)和Reduce(化简)。基于这两大核心思想,MapReduce把数据处理流程分成两个主要阶段:Map阶段和Reduce阶段。
Map 阶段负责对数据进行预处理,具体是指通过特定的输入格式读取文件数据,将读取的数据以键值(Key-Value,K-V)对的形式进行保存。
4.1.2 MapReduce编程模型
初心至善 匠心育人
4.1 认识MapReduce
Reduce 阶段负责对数据进行聚合处理,具体是指通过对Map阶段保存的数据进行归并、排序等,计算出想要的结果。
MapReduce的整体结构如图所示。
4.1.2 MapReduce编程模型
初心至善 匠心育人
4.1 认识MapReduce
从结构图中可以看出MapReduce 的处理过程。
(1) Map阶段对数据进行分块和分片处理;
(2) 将数据信息交给Map任务去进行读取;
(3) 对数据进行分类后写入,根据不同的键产生相应的键值对数据;
(4) 进入Reduce阶段,执行定义的算法,使用相同键的值从多个数据表中被集合到一起进行分类处理,最终结果输出到相应的磁盘空间。
4.1.2 MapReduce编程模型
初心至善 匠心育人
4.1 认识MapReduce
MapReduce的框架流程如图所示。
4.1.2 MapReduce编程模型
从图中看到, Hadoop 为每个创建的 Map 任务被分配输入文件的一部分,这部分称为 Split(切片)。用户自定义的 Map 能够根据用户需要来处理每个 Split中的内容。
初心至善 匠心育人
4.1 认识MapReduce
一般情况下,一个Map 任务的执行分成两个阶段。
(1) Map 读取 Split 内容后,将其解析成键值对的形式进行运算,并将 Map中定义的算法应用至每一条内容,而内容范围可以根据用户自定义来确定。
(2) 使用 Map 中定义的算法处理完Spli
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。