大数据-MapReduce工作机制

本文详细阐述了MapReduce的工作流程,从任务提交到数据读取,再到Mapper和Reducer的执行过程,深入解析了其核心机制,包括数据溢写、Combiner优化、归并排序等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MapReduce的工作机制

在这里插入图片描述

(1)通过submit()方法将任务提交给客户端

(2)将通过split()方法得出的切片信息提交给Yarn

(3)NodeManger计算出MapTask数量(MapTask由Block大小决定)

(4)MapTask通过InputFormat类读取文件数据

(5)客户端以(key,value)结构来传输数据

(6)在Mapper阶段执行Mapper类中的map()方法和context.write()方法将数据写入到环形缓冲区

(7)环形缓冲区默认大小为100M,当达到80%时,会进行溢写

(8)在Combiner阶段,可以通过本地化的reduce操作(Combiner)进行优化,对数据进行简单的合并,减少网络之间的传输

(9)根据分区进行归并排序

(10)将归并排序好的数据下载到ReudceTask本地磁盘中

(11)合并文件,再进行归并排序

(12)每次读取一组数据到Reducer阶段当中

(13)在Reducer阶段执行Reducer类中的reduce()方法和context.write()方法,通过OutputFormat类写入到part-r-00000文件当中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值