Hadoop中MR阶段MapTask和ReduceTask工作过程(详细原理)。

MapTask阶段:总共分为以下5个步骤:
1.read阶段:当客户端提交job的时候,根据附加的三个信息(切片信息和jar包以及xml文件)去开启相应数量MapTask读取文件
2.map阶段:系统默认的map方式是
TextInputFormat
,通过读取行来切割数据,以便后序数据处理。
3.collect阶段:当map阶段结束后,将切割完成的数据输送到环形缓冲区分区排序,系统默认按照key排序,按字典顺序排序,排序方式是快排(快速排序)。
4.溢写阶段:就是当环形缓冲区数据达到其大小的**80%**时(默认大小为100M),将数据写入磁盘。
5.combiner阶段:意为数据归并,即将数据进行一定的归并操作。可有可无。在适当时候使用combiner,可以减少网络传输数据量,优化Hadoop框架性能。

ReduceTask阶段”可以分解为以下4个阶段:
1.Coyp阶段:通过远程数据拷贝方式,从MapTask中拷贝已处理好的数据到内存。注意:(MapTask和ReduceTask很大程度不再同一台服务器,这就是为什么需要序列化和反序列化(bean对象))。
2.Meger阶段:即合并阶段。当拷贝过来的多个小文件合并成一个大的文件。当达到内存数据量的阈值(内存大小)时,自动会将数据写入磁盘。
3.sort阶段:就是按照某种需求比如分组排序,与meger阶段同时进行。
4.reduce阶段:将数据写入到指定的分区文件中。

以上就是MapTask和Reduce阶段的详细过程。谢谢观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值