文件分割
将文件拆分成splits,由于测试用的文件较小,所以每个文件为一个split,并将文件按行分割形成<key,value>对,下图所示。这一步由MapReduce框架自动完成,其中偏移量(即key值)包括了回车所占的字符数(Windows/Linux环境不同)。
image.pngmap处理生成新的key value
将分割好的<key,value>对交给用户定义的map方法进行处理,生成新的<key,value>对,下图所示。
map排序
得到map方法输出的<key,value>对后,Mapper会将它们按照key值进行排序,得到Mapper的最终输出结果。
image.png
reduce处理
Reducer先对从Mapper接收的数据进行排序、分组,再交由用户自定义的reduce方法进行处理,得到新的<key,value>对,并作为WordCount的输出结果,
hive的底层就是MapReduce。学好它就可以调试甚至修改hive。
网友评论