MapReduce工作原理

二、MapReduce工作原理

(1)MapReduce执行流程
(2)对MapReduce的理解
(3)MapReduce过程
(4)MapReduce的详细过程
(5)MapTask和ReduceTask工作机制
(6)MapReduce中有没有涉及到排序
在这里插入图片描述
(1)准备一个200M的文件,submit中对原始数据进行切片;
(2)客户端向Yarn提交信息,Yarn开启一个MrAppmaster,MrAppmaster读取客户端对应的信息,主要是job.split,然后根据切片个数(这里2个)开启对应数量的MapTask(2个);
(3)MapTask通过inputFormat去读取数据(默认按行读取),K是偏移量,V是一行内容,数据读取后交给Mapper,然后根据用户的业务需求对数据进行处理;
(4)数据处理之后输出到环形缓冲区(默认100M),环形缓冲区一边是存数据,一边存的是索引(描述数据的元数据)。环形缓冲区存储数据到达80%后进行反向溢写,并对数据进行分区、排序;
(5)再对分区且区内有序的文件进行归并排序,然后存储到磁盘
在这里插入图片描述
(6)当所有的MapTask任务完成之后,启动相应数量的ReduceTask,并告知ReduceTask处理数据范围(数据分区)。注意:不是必须等到所有的MapTask结束后才开始,可以自行配置。
(7)ReduceTask开启后,ReduceTask主动从MapTask对应的分区拉取数据;
(8)再对ReduceTask拉取过来的数据进行一个全局合并排序;
(9)顺序读取数据,按key分,key相同的数据进入同一个Reducer,一次读取一组数据;
(10)Reducer处理完数据,通过OutPutFormat往外写数据,形成对应文件
简洁版:面试可手写
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值