需求
计算出文件中每个单词的频数。要求输出结果按照单词的字母顺序进行排序。每个单词和其频数占一行,单词和频数之间有间隔。
比如,输入一个文件,其内容如下:
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示例,它虽然简单,但具有很大的代表性。
从某个程度上来说也反映了其设计的初衷,对日志文件的分析。
时间: 2024-10-18 00:22:39