- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第六章分布式计算框架MapReduce《大数据技术基础教程》学习目标/Target了解MapReduce简介理解MapReduce计算模型掌握MapReduce编程实践理解MapReduce工作原理章节概述/SummaryMapReduce是Hadoop的一个核心组成框架,使用该框架编写的应用程序能够以一种可靠的、容错的方式并行处理大型集群(数千个节点)上的大量数据(TB级别以上),也可以对大数据进行加工、挖掘和优化等处理。目录/Contents01MapReduce简介MapReduce计算模型02MapReduce编程实践MapReduce工作原理04031MapReduce简介1.1MapReduce简介Hadoop的MapReduce核?技术起源于?歌在2004年发表的关于MapReduce系统的论?介绍。Hadoop实现了Google的MapReduce编程模型,提供了简单易用的编程接口,也提供了它自己的分布式文件系统HDFS,与Google不同的是,Hadoop是开源的,任何人都可以使用这个框架来进行并行编程。MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce。概念“Map(映射)”和“Reduce(归约)”,以及它们的主要思想,都是从函数式编程语言里借来的,同时包含了从矢量编程语言里借来的特性。2MapReduce计算模型2.1MapReduce计算模型在Hadoop中,用于执行计算任务(MapReduce任务)的机器有两个角色:一个是JobTracker,一个是TaskTracker,前者用于管理和调度工作,后者用于执行工作。每次计算任务都可以分为两个阶段,Map阶段和Reduce阶段。其中,Map阶段接收一组键值对模式key,Value的输入并产生同样是键值对模式的另一个或一批key,Value的中间输出;Reduce阶段负责接收Map产生的中间输出key,Value,然后对这个结果进行处理并输出结果。2.1MapReduce计算模型3MapReduce工作原理3.11.x架构MapReduce1.x采用Master/Slave架构,由全局唯一的Jobtracker和多个TaskTacker组成,并且在Client中提供一系列的api供编程和管理使用。3.11.x架构MapReduce的完整流程为:第一步:读取文件,解析成为key,value对;第二步:自定义map逻辑接收k1,v1,转换成为新的k2,v2输出;第三步:分区Partition。将相同key的数据发送到同一个reduce里面去;第四步:排序,map阶段分区内的数据进行排序;第五步:combiner。调优过程,对数据进行map阶段的合并;第六步:将环形缓冲区的数据进行溢写到本地磁盘小文件;第七步:归并排序,对本地磁盘溢写小文件进行归并排序;3.11.x架构MapReduce的完整流程为:第九步:reduceTask启动线程拉取属于自己分区的数据;第十步:从mapTask拉取回来的数据继续进行归并排序;第十一步:进行groupingComparator分组操作;第十二步:调用reduce逻辑,写出数据;第十三步:通过outputFormat进行数据输出,写到文件,一个reduceTask对应一个文件。3.22.x架构(YARN架构)3.22.x架构(YARN架构)①用户编写客户端应用程序,向YARN提交应用程序,提交的内容包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。②YARN中的ResourceManager负责接收和处理来自客户端的请求。接到客户端应用程序请求后,ResourceManager里面的调度器会为应用程序分配一个容器。同时,ResourceManager的应用程序管理器会与该容器所在的NodeManager通信,为该应用程序在该容器中启动一个ApplicationMaster(即图6-5中的“MRAppMstr”)。③ApplicationMaster被创建后会首先向ResourceManager注册,从而使得用户可以通过ResourceManager来直接查看应用程序的运行状态。接下来的步骤4~7是具体的应用程序执行步骤。3.22.x架构(YARN架构)④ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请资源。⑤ResourceManager以“容器”的形式向提出申请的ApplicationMaster分配资源,一旦Applica
文档评论(0)