1.mapper()方法做业务逻辑处理,然后将数据传到分区方法中,给数据标记好分区,将数据发送到环形缓冲区环形缓冲区默认100M,达到80%的调值进行溢写操作
2.溢写之前会进行排序,排序的规则是字典序排序,排序的手段呢是快排
溢写会产生很多溢写文件,溢写文件默认达到10个会进行合并,合并时采用的算法是归并排序
3.他可以进行combiner局部帮合的操作,前操是局部整合的结果不会对最终的结果有影响
4.等到所有的maptask运行完毕,会启动一定数量的reducetask,并告知reducetask读取数据的范围(也就是分区)
5.reduceTask发起拉取线程,去map端拉取数据,拉过来的数据会先存储到内存中,内存放不下了就放到磁盘中,等到数据拉取完毕之后会再进行一个归井排序然后再对数据进行分组,以组为单位将数据发送到reduce()方法中
11-20
1613
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交