MapReduce工作原理

1.从HDFS中读取数据,并按照block块(128M)划分split(128M),每个split对应一个maptask

2.map对每个分片的每行数据进行(key,value)处理,得到中间数据

3.将中间数据储存到环形缓冲区(默认100M),并给每个键值对赋予partition属性,当文件大小达到阈值时生成一个小文件写入磁盘,并再写入前根据key值进行排序(溢写过程)

4.溢写过程完成后,将所有小文件进行归并形成一个正式输出文件,此时的归并是将所有文件中相同的partition合并到一起,并对partition中的数据进行排序

5.reduce端根据分区开启相同数量的reduce task,reduce task从每个maptask形成的文件中拉取分区数据,并进行合并排序,每个reducetask处理一个分区的数据.

6.进行reduce过程,产生最终输出结果,将结果写入HDFS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值