2023学年完整公开课版Hadoop的Reduce过程_第1页
2023学年完整公开课版Hadoop的Reduce过程_第2页
2023学年完整公开课版Hadoop的Reduce过程_第3页
2023学年完整公开课版Hadoop的Reduce过程_第4页
2023学年完整公开课版Hadoop的Reduce过程_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

Hadoop的reduce过程2知识目标reduce任务的简介reduce任务的执行过程01能力目标了解reduce任务执行过程概述理解reduce任务过程各阶段02学习目标3目录01reduce简介02reduce任务的执行过程03reduce任务各阶段reduce简介4reduce任务的执行过程5Reduce任务的执行过程可以概括为:首先需要将已经完成Map任务的中间结果复制到Reduce任务所在的节点,待数据复制完成后,再以key进行排序,通过排序,将所有key相同的数据交给reduce函数处理,处理完成后,结果直接输出到HDFS上。reduce阶段操作的实质就是对经过shuffle处理后的文件调用reduce函数处理。由于经过了shuffle的处理,文件都是按键分区且有序,对相同分区的文件调用一次reduce函数处理。reduce任务各阶段6shuffle阶段

shuffle,也叫数据清洗。在某些语境下,代表map函数产生输出到reduce的消化输入的整个过程。数据溢写,分区,排序7

多个map并行工作相互不影响,每个map工作结束后会将输出的key-value对先存储在内存(memory)缓存区中,当内存缓冲区中数据的数量达到一定量后会将内存缓冲区中的数据溢写(spill)到本地磁盘中,此时可能会将内存缓冲中的数据写到多个磁盘文件中,再将数据写到磁盘文件的过程中,会对数据进行以下操作:(1)分区:因为shuffle过程结束后,在reduce过程中,多个reduce会拉取map输出的数据并执行reduce操作,此时一个reduce会对应一个分区,即,不同的reduce处理不同分区的数据。所以此处的分区可以理解为:通过分区后,输出有多个文件,但是不同文件中存储的数据都是够被同一个reduce处理的数据,或者同一文件中的数据按照不同分区进行分开存放。(2)将各个分区(文件)中的数据按照key进行排序。文件合并8

当map输出的数据全部写到磁盘后,会合并小文件(merge),将上一过程中输出的多个小文件进行合并,在合并的过程中也会进行分区和排序,同之前一样,分区即是把能被同一个reduce操作的数据放在一起,排序即是在各个分区中将数据按照key进行排序。此时通过合并,分区,排序后生成的大文件存放在map程序本机的本地磁盘,并等待reduce来拷贝数据。combiner和压缩9

当执行到此处,可以进行以下两个可设置的操作:

(1)Combiner(map端的reduce),文件合并的时候,可以执行reduce端操作(将相同key的value合并在一起),这种操作不是每个reduce程序都可以进行,只有不影响最终结果的情况下,才能够进行Combiner操作。

(2)压缩:在此处可以将合并后的大文件进行压缩,压缩后可以减少磁盘的占用量,当reducecopy时也可以减少网络IO。10

reduce数据copy reducetask会到maptask运行的主机上拷贝自己要处理的数据。具体的过程如下

(1)先将数据放内存缓冲区,缓冲区写满后溢写到磁盘。

(2)溢写磁盘的过程中,会将拷贝的数据进行合并,排序处理。

(3)group:在数据copy结束并合并结束后,将拷贝的数据进行按照key进行分组,即,将相同key的value放在一起,这里通过比较器进行比较key是否相同。

(4)将分组后的数据传递给reduce()方法进行处理11reduce阶段

reduce阶段操作的实质就是对经过shuffle处理后的文件调用reduce函数处理。

由于经过了shuffle的处理,文件都是按键分区且有序,对相同分区的文件调用一次redu

温馨提示

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

评论

0/150

提交评论