首页 > 编程知识 正文

mapreduce工作流程简述,mapreduce工作流程哪五步

时间:2023-05-04 22:00:30 阅读:53816 作者:60

一. mapreduce进程图像来自:51doit

Inputformat将切片中每行的数据表设置为kv格式。 k是该行的数据偏移(长写入),v是每行的数据内容类型(文本) map端处理每行的数据,生成一些对kv作为中间结果,经过散列分区进入环形缓冲区当环形缓冲区达到80%时,数据溢出写入磁盘(此处将溢出文件合并称为merge )以及reduce端以http的形式请求task tracker获取map task的输出文件,并1.shuffle和优化1.shuffle

3.MR中的三次排序Mr在Map任务和Reduce任务过程中,共发生了三次排序

1 ) map函数生成输出后,首先将其写入内存环形缓冲器,当达到设置的阈值时,后台线程在刷新磁盘之前将缓冲器中的数据划分为相应的分区。 在每个分区上,后台线程按键进行内部排序

2 )在Map任务完成之前,磁盘上已经分区、按顺序排列,存在多个与缓冲区大小相同的溢出文件,溢出文件被分区并合并到排序的输出文件中因为溢出文件是首先排序的,所以所有合并文件都可以通过重新排序来组织整个输出文件。

3 )在reduce阶段,需要将多个Map任务的输出文件复制并合并到ReduceTask中,但由于经过了第二次排序,因此在合并文件时只需重新排序即可组织整个输出文件

在这第三次排序中,第一次是基于内存缓冲区的内部排序,在高速排序中使用了算法,第二次排序和第三次排序都发生在文件合并阶段,使用了合并排序。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。