`

第三章 MapReduce

 
阅读更多

 

 

3.1 MapReduce基础

任务的分解与结果的汇总。

MapReduce框架负责分布式存储、工作调度、负载均衡、容错处理、网络通信.....复杂的任务有框架完成。



 

 

MapReduce集群行为:

1、任务调度与执行

MapReduce任务有JobTracker和TaskTracker两类节点控制。JT负责调度和管理TJ,TJ负责任务的并行计算。TaskTracker必须运行在DataNode上,DN即是数据节点,也是计算节点。

2、本地计算

“移动计算比移动数据更经济”!把计算节点和数据节点置于同一个节点上,这种方式减少了网络开销。split通常应小于或等于HDFS数据块大小,保证split不会跨越两台计算机存储。

3、Shuffle过程

Mapper的数据结果按照key划分为R(预先设定的Reducer数量)份,划分使用哈希函数,hash(key) mod R,保证一个范围内的key一定有某个Reduce处理

4、combine

将中间结果拥有相同key值的一组数据进行合并,合并后为<key,list<value>>。Combine是Mapper的一部分,在map函数后shuffle之前执行。保证combine执行多次,得到的结果应该是一样的。

5、读取中间结果

完成combine和shuffle后,通知JobTracker中间结果文件的存放位置,JK告诉Recuer到哪个Mapper节点上取数据。Mapper的输出结果写道本地磁盘,不是HDFS,Reducer结束后数据被删除。

6、任务管道

R个Reducer会产生R个结果,这个R结果可能被当成另一计算任务的输入,并开始另一个MapReduce任务。

 

 

3.2 样例分析:单词计数

 



 

 

 3.3 MapReduce 



 

 


 





 

 

 

 Map任务和Reduce任务执行时必须获得一个slot才能继续,否则只能等待,执行完成后释放slot。

slot分为Map Slots和Reduce Slots,分别对应可执行的Mapper数和Reducer数,mapred-site.xml可以设置。

 

3.4 倒排索引

 P74

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 134.1 KB
  • 大小: 482.4 KB
  • 大小: 55.5 KB
  • 大小: 353.3 KB
  • 大小: 93 KB
  • 大小: 199.2 KB
  • 大小: 128.6 KB
  • 大小: 77.1 KB
  • 大小: 121 KB
  • 大小: 100.6 KB
  • 大小: 297 KB
分享到:
评论

相关推荐

    思维导图第三章 MapReduce分布式计算框架 (核心思想:“分而治之”)

    Hadoop+Spark大数据技术(微课版)曾国荪、曹洁版思维导图第三章 MapReduce分布式计算框架 (核心思想:“分而治之”)

    第四章Mapreduce.pdf

    编写MapReduce程序涉及Mapper、Reducer和Driver三个部分: 1. Mapper:自定义Mapper类,实现map()方法,处理输入数据并生成中间键值对。 2. Reducer:自定义Reducer类,实现reduce()方法,对Mapper输出的中间键值对...

    HCIA-Big Data培训视频教程【共18集】.rar

    7. 第三章 MapReduce离线式批量数据处理引擎(一) 8. 第三章 MapReduce离线式批量数据处理引擎(二) 9. 第三章 MapReduce离线式批量数据处理引擎(三) 10. 第三章 MapReduce离线式批量数据处理引擎(四) 11. 第...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理

    MapReduce编程模型篇第3章 MapReduce编程模型3.1 MapReduce编程模型概述3.1.1 MapReduce编程接口体系结构3.1.2 新旧MapReduce API比较3.2 MapReduce API基本概念3.2.1 序列化3.2.2 Reporter参数3.2.3 回调...

    hadoop大数据平台技术与应用-第4章MapReduce.pdf

    对于Hadoop来说,MapReduce模型主要分为三个部分:Map(映射)、Shuffle(洗牌)和Reduce(归约)。它提供了一个简单而强大的接口,用户只需编写Map函数和Reduce函数,就能实现大规模并行运算。 4.1.1 MapReduce...

    大话云计算

    《大话云计算》是一本关于云计算的幽默科普读物,内容涉及云计算的方方面面。从云计算的产生背景、发展历史、基本概念、关键技术,到云计算的困境、未来、应用领域,再到国内外云计算的发展现状.

    高级软件人才培训专家-Hadoop课程资料-3-第三章 - MapReduce & YARN入门

    ### 高级软件人才培训专家-Hadoop课程资料-3-第三章 - MapReduce & YARN入门 #### 知识点一:分布式计算概述 - **定义**:分布式计算是一种计算模型,它通过网络将任务分配到多台计算机上并行处理,以提高计算效率...

    MapReduce2.0源码分析与实战编程

    第3章:Map阶段 此章专注于Map任务的执行过程,包括输入分片、Mapper类的编写、键值对的分区与排序等关键步骤。读者将了解到如何自定义Mapper类以处理特定的数据转换,并理解Map输出的中间键值对是如何被分区和排序...

    Hadoop专业解决方案-第3章:MapReduce处理数据.docx

    MapReduce是Hadoop生态系统中的核心处理模块,它是一种分布式计算框架,特别适合处理和分析海量数据。这个框架的灵感来源于函数式编程中的map和reduce概念,最初由Google在2004年提出,随后在Hadoop中得到广泛应用。...

    华为HCIA-Big Data V2.0 LVC公开课培训.rar

    第三章 MapReduce分布式离线批处理和Yarn资源协调 3.1_MapReduce和Yarn基本介绍-MapReduce和Yarn功能与架构 3.2_Yarn的资源管理和任务调度-增强特性 第四章 Spark2x基于内存的分布式计算 4.1_Spark概述-Spark原理...

    大数据之Mapreduce

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程...

    云计算 mapreduce - <Data-Intensive[1].Text.Processing.With.MapReduce>

    - **第3章:MapReduce算法设计** 探讨了如何设计有效的MapReduce算法,包括局部聚合、配对与条纹化、相对频率计算、二次排序、关系连接等技术。 - **第4章:用于文本检索的倒排索引** 讨论了如何构建和优化倒排...

    第4章大数据技术教程-MapReduce.pdf

    Map 含义是映射,将要操作的每个元素映射成一对键和值,Reduce 含义是归约,将要操作的元素按键做合并计算,Shuffle 在第三节详细介绍。 在 Map 阶段,将每个图形映射成形状(键Key)和数量(值Value),每个形状...

    第4章大数据技术教程-MapReduce.docx

    MapReduce 编程模型和分布式计算框架 MapReduce 是一种面向大规模数据并行处理的编程模型,也是一种并行分布式计算框架。它主要由两个处理阶段:Map 阶段和 Reduce 阶段,每个阶段都以键值对作为输入和输出,键值对...

    史上最全面的hadoop入门视频教程

    第三章 HDFS操作 第四章 HDFS的JavaAPI操作和MapReduce入门 第五章 MapReduce的WordCount案例和分区 第六章 MapReduce的排序和序列化 第七章 MapReduce的运行机制和join操作 第八章 MapReduce的其他操作和yarn 第九...

    hadoop技术内幕 深入解析mapreduce架构设计与实现原理

    第1章 阅读源代码前的准备/ 2 1.1 准备源代码学习环境/ 2 1.1.1 基础软件下载/ 2 1.1.2 如何准备windows环境/ 3 1.1.3 如何准备linux环境/ 6 1.2 获取hadoop源代码/ 7 1.3 搭建hadoop源代码阅读环境/ 8 1.3.1...

    Hadoop平台的MapReduce模型性能优化研究

    程序和参数两个层面实现优化的可选项很多,本文在第三章对此作了详细阐述。 Hadoop在管理资源中将内存和CPU两种计算资源捆绑在一起,然后再根据任务类型分为Map Slot和Reduce Slot两种资源模型。这种管理机制实现简单,...

    第5章大数据技术教程-MapReduce运行原理及Yarn介绍.pdf

    3. 提高了数据共享:YARN 可以实现数据共享,提高了数据的利用率。 4. 提高了系统的可扩展性:YARN 可以轻松地实现系统的扩展和升级。 MapReduce 是一种广泛应用于大数据处理的编程模型,而 YARN 是一种通用资源...

Global site tag (gtag.js) - Google Analytics