MapReduce
MapReduce主要思想:分而治之
map阶段主要负责"分",将一个file文件分成若干个小文件
reduce阶段负责"合",将map阶段分开的小文件合成一个reduce输出.
MapReduce主要分为四个阶段Split、Map、Shuffle、Reduce 这四个阶段.
其中1.Split(分片输出)
2.map阶段
Split 阶段的输出作为 Map 阶段的输入,split的一个分片是一个 Map 。在 Map 阶段中,读取 value 值,将 value 值拆分为需要的形式。key 为 每个单词,value 为 1。
3.Shuffle 阶段
Map 阶段的输出会作为 Shuffle 阶段的输入。
4.reduce阶段
将相同的key相加,计数.
MapReduce执行流程图
main方法
public static void main(String[] args) throws IOException, ClassNotFoundEx