TextInputFormat根据文件大小将文件拆分成splits,如果单个文件较小,则每个文件为一个split,并将文件按分割形成<key,value>对,如果单个文件较大。超过block块默认大小的1.1倍,则会将文件切分为多个split。这一步由MapReduce框架自动完成,其中偏移量包括了回车所占的字符数。将分割好的<key,value>对交给用户自定义的map方法进行处理,生成新的<key,value>对。得到map方法输出的<key,value>对后,Mapper会将它们按照key值进行排序,并执行Combine过程,将key值相同value值累加,得到Mapper的最终输出结果。Reducer先对从Mapper接收的数据进行排序,再交由用户自定义的reduce方法进行处理,得到新的<key,value>对,并作为任务的输出结果。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。