http://m.blog.csdn.net/blog/yhc13429826359/9962047
Mapreduce不设置reduce,只执行map的输出结果
2013-8-14阅读3070 评论5
在写MR程序时候,有时我们不需要reduce,比如对原始数据做Format等,这样我们在MR程序中就不需要写reduce函数,同样在main函数配置中也不需要reduce相关的配置信息,在MR执行的过程中,会为MR生成一个系统自带的reduce,这个reduce是系统为了保持框架的完整性自动调用的reduce函数,但这个函数并不做shuffle和数据拖取,生成的结果文件就是map的输出文件,也就是说,有多少个map,那么输出的结果就有多少个文件。so,总结如下:
1. MR可以没有reduce
2. 如果没有reduce,那么系统也会自动生成一个reduce,但是这个reduce不做任何操作,也不做shuffle拖取数据
3. 最终文件的数量就是map的数量,根据数据的输入量和块大小和切片最大最小值有关
4. 最简便的方法就是直接将reduce的数量设置成0