网站大量收购独家精品文档,联系QQ:2885784924

Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完).pptx

Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完).pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Hadoop大数据项目开发——MapReduce工作流程

目录content02Reduce过程Map过程0405写入文件01分片和格式化数据源03Shuffle过程

MapReduce工作流程概述MapReduce编程简单且功能强大。专门为并行处理大规模数据而设计。对于简单数据处理,只需要执行Map任务。对于复杂任务,根据实际的业务需求设置合适的Reduce任务数。

MapReduce工作流程MapReduce工作流程

第一步:分片和格式化数据源将存储在分布式文件系统中数据集切分成独立的输入分片。每一个输入分片对应一个Map任务(有多少输入分片就会存在多少Map任务)。输入分片是逻辑概念。输入分片中存储了一些元数据信息。输入分片处理成key1,value1形式的数据,再传递给Map任务。

第二步:Map过程TWITTERSKYPEFACEBOOK经过map()函数处理后,获得一系列key2,value2形式的输出。Map过程利用map()函数来处理数据。map()函数中具体的数据处理方法由用户自己定义。map()函数接收key1,value1形式的数据输入。1234YOUTUBE

第三步:Shuffle过程Shuffle过程map()函数的输出并不会直接交给Reduce任务,而是需要经过分区、排序、合并、溢写、归并等处理,将处理后的数据作为Reduce任务的输入。这一系列处理过程称为Shuffle。

第三步:Shuffle过程Map的Shuffle过程1.Map端的Shuffle过程(1)map()函数的输出并不会立即写入磁盘,MapReduce会为每个Map任务分配一个环形内存缓冲区(bufferinmemory),用于存储map()函数的输出。(2)在将环形内存缓冲区中的数据写入磁盘之前,需要对数据进行分区、排序和合并(可选)操作。

第三步:Shuffle过程Map的Shuffle过程1.Map端的Shuffle过程分区:主要目的是将数据均匀地分配给Reduce任务,以实现MapReduce的负载均衡。排序:MapReduce的默认操作,主要是将Map任务的输出按key进行排序。每个分区中的数据都是有序的。合并:排序结束后,合并操作可根据需求选择是否要执行;合并操作是将具有相同key的key,value的value加起来,从而减少溢写的数据量。

第三步:Shuffle过程Map的Shuffle过程1.Map端的Shuffle过程(3)环形内存缓冲区中的数据一旦达到阈值,后台线程便开始把数据溢写到本地磁盘的临时文件(即溢写文件)中。(4)系统需要将所有溢写文件中的数据进行归并,以生成一个大的溢写文件。归并操作就是将相同key的value归并成一个集合,形成新的键值对。(5)文件归并操作完成后生成最终的Map任务输出文件,文件保存在Map任务所在节点的本地磁盘上,Map任务执行结束。

第三步:Shuffle过程2.Reduce端的Shuffle过程(1)Map任务结束,Reduce任务启动相同数量的复制线程并行复制Map任务的输出文件。(2)当缓存中的数据达到阈值,即需要溢写到磁盘时,Reduce任务会将复制数据进行归并排序(MergeSort),生成溢写文件。Reduce的Shuffle过程

Reduce过程Reduce任务接收归并排序后的数据流,并对已有序的相同key的键值对调用一次reduce()函数。Reduce任务输入是key2,list(value2)形式的中间结果,输出的是key3,value3形式的计算结果。Reduce任务输出结果经过输出格式化后再输出到文件系统中,并且每个作业输出文件默认以“part-r-00000”开始,并用后5位数递增的方式命名。123Reduce过程

写入文件MapReduce框架会自动把ReduceTask生成的key,value传入OutputFormat的write方法,实现文件的写入操作。

本节小结(2)Map过程(5)写入文件(1)分片和格式化数据源(3)Shuffle过程(4)Reduce过程

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档