典型程序WorldCound举例
假设要分析一个大文件A里每个英文单词出现的个数,利用MapReduce框架能快速实现这一统计分析。
- 第一步:待处理的大文件A已经存放在HDFS上,大文件A被切分的数据块A.1、A.2、A.3分别存放在Data Node #1、#2、#3上。
- 第二步:WordCount分析处理程序实现了用户自定义的Map函数和Reduce函数。WordCount将分析应用提交给RM,RM根据请求创建对应的Job,并根据文件块个数按文件块分片,创建3个 MapTask 和 3个Reduce Task,这些Task运行在Container中。
- 第三步:Map Task 1、2、3的输出是一个经分区与排序(假设没做Combine)的MOF文件,记录形如表所示。
- 第四步:Reduce Task从 Map Task获取MOF文件,经过合并、排序,最后根据用户自定义的Reduce逻辑,输出如表所示的统计结果。