首页 > 代码库 > MapReduce 应用案例分析 - 单词计数

MapReduce 应用案例分析 - 单词计数

需求

  计算出文件中每个单词的频数。要求输出结果按照单词的字母顺序进行排序。每个单词和其频数占一行,单词和频数之间有间隔。

  比如,输入一个文件,其内容如下:

  hello world

  hello hadoop

  hello mapreduce

  对应上面给出的输入样例,其输出样例为:

  hadoop 1

  hello 3

  mapreduce 1

  world 1

方案制定

  对该案例,可设计出如下的MapReduce方案:

  1. Map阶段各节点完成由输入数据到单词切分的工作

  2. shuffle阶段完成相同单词的聚集再到分发到各个Reduce节点的工作 (shuffle阶段是MapReduce的默认过程)

  3. Reduce阶段负责接收所有单词并计算各自频数

小结

  WordCount是一个很经典的Hadoop示例,它虽然简单,但具有很大的代表性。

  从某个程度上来说也反映了其设计的初衷,对日志文件的分析。

MapReduce 应用案例分析 - 单词计数