[Hadoop] - Mapreduce自定义Counter
2015-09-22 17:10
706 查看
在Hadoop的MR程序开发中,经常需要统计一些map/reduce的运行状态信息,这个时候我们可以通过自定义Counter来实现,这个实现的方式是不是通过配置信息完成的,而是通过代码运行时检查完成的。
1、创建一个自己的Counter枚举类。
2、在需要统计的地方,比如map或者reduce阶段进行下列操作。
3、在job运行完成后获取统计信息,代码如下:
1、创建一个自己的Counter枚举类。
enum PROCESS_COUNTER { BAD_RECORDS, BAD_GROUPS; }
2、在需要统计的地方,比如map或者reduce阶段进行下列操作。
context.getCounter(PROCESS_COUNTER.BAD_RECORDS).increment(1); // 增加1 context.getCounter(PROCESS_COUNTER.BAD_RECORDS).increment(-1); // 减少1
3、在job运行完成后获取统计信息,代码如下:
org.apache.hadoop.mapreduce.Counters counters = job.getCounters(); org.apache.hadoop.mapreduce.Counter counter = counters.findCounter(PROCESS_COUNTER.BAD_RECORDS); System.out.println("bad records:" + counter.getValue()); System.out.println("bad groups:" + job.getCounters().findCounter(PROCESS_COUNTER.BAD_GROUPS).getValue());
相关文章推荐
- linux c程序调用lua代码的实例
- Linux-CentOS7 安装VMware Workstation 12
- 监控系统选型之监控功能浅析
- Linux线程同步之读写锁(rwlock)
- 第十二节 Linux下软件安装
- linux 禁止帐号密码验证 使用key验证方式登录SSH
- centos安装c编译库
- 关于SpringMVC+Spring+Hibernate+Tomcat内存溢出问题
- Linux进程同步之记录锁(fcntl)
- Docker搭建私有库
- Web打印控件Lodop
- apache搭建
- centos7.0体验与之前版本的不同
- bash: ./arm-linux-gcc : No such file or directory
- 【Linux】VMware中Redhat9下安装VMTools
- tomcat脚本启停
- 更改CentOS 6.5 yum源
- linux应用编程笔记(1)gdb调试方法及如何找出dbg.c程序中的错误
- Apache2.4+php5.6+Mysql5.6+Mantisbt 配置
- linux中对文件名包含空格时处理异常的解决方法