Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完)_第1页
Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完)_第2页
Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完)_第3页
Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完)_第4页
Hadoop大数据开发基础与案例实战(微课版)课件 5.2MapReduce工作流程(完)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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位数递增的方式命名。123

Reduce过程写入文件MapReduce框架会自动把ReduceTask生成的<key,value>传入Ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论