MapReduce的全局计数器
1.1、介绍
计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况。
MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduce Job 运行期的各种细节数据。对MapReduce性能调优很有帮助,MapReduce性能优化的评估大部分都是基于这些 Counter 的数值表现出来的。
MapReduce 自带了许多默认Counter,现在我们来分析这些默认Counter 的含义,方便大家观察 Job 结果,如输入的字节数、输出的字节数、Map端输入/输出的字节数和条数、Reduce端的输入/输出的字节数和条数等
1.2、需求
在实际生产代码中,常常需要将数据处理过程中遇到的不合规数据行进行全局计数,类似这种需求可以借助MapReduce框架中提供的全局计数器来实现
1.3、场景介绍
现在我们通过全局计数器来实现,统计一个目录下的所有文件或者一个文件中的总行数和总单词数
1.4、代码实现
1.5、输入数据
1.6、计算结果
这就是最后的计算结果:在上面结果中的倒数第5-7行
各位看官,有没有看懂的,如果有疑问的地方,可以举手提问。