MapReduce计数器
来源:互联网 发布:ubuntu google输入法 编辑:程序博客网 时间:2024/06/05 20:16
(1)计数器主要用来收集系统信息,以及相关作业的运行时候的统计数据,用于知道作业成功、失败等情况;
源代码TestCounter.java:
(2)相比而言,计数器方式比日志更易于分析。
内置计数器:
(1)Hadoop内置的计数器,主要用来记录作业的执行情况
(2)内置计数器包括MapReduce框架计数器(Map-Reduce Framework)
——文件系统计数器(FielSystemCounters)
——作业计数器(Job Counters)
——文件输入格式计数器(File Output Format Counters)
——文件输出格式计数器(File Input Format Counters)
(3)计数器由相关的task进行维护,定期传递给tasktracker,再由tasktracker传给jobtracker;
(4)最终的作业计数器实际上是有jobtracker维护,所以计数器可以被全局汇总,同时也不必在整个网络中传递
(5)只有当一个作业执行成功后,最终的计数器的值才是完整可靠的;
自定义Java计数器:
(1)MapReduce允许用户自定义计数器;
(2)计数器是一个全局变量;
(3)计数器有组的概念,可以用Java的枚举类型或者用字符串来定义
方法:
(4)字符串方式(动态计数器)比枚举类型要更加灵活,可以动态在一个组下面添加多个计数器;
(5)在旧版API中使用Reporter,而新版API使用context.getCounter(groupName,counterName)来获取计数器配置并设置;
(6)计数器递增
方法:
按给定的值增长计数器;
源代码org.apache.hadoop.mapreduce.Counter类。
计数器使用:
(1)WebUI 查看(50030,50070);
(2)命令行方式:hadoop job -counter;
(3)使用Hadoop API
通过job.getCounters()得到Counters,而后调用counters.findCounter()方法去得到计数器对象;
查看最终的计数器的值需要等作用完成后。
自定义计数器实验,统计词汇行中词汇数超过2个或少于2个的行数:
输入数据文件counter.txt:
hello world
hello
hello world 111
hello world 111 222
hello
hello world 111
hello world 111 222
新建项目TestCounter,包com.counter,
源代码MyMapper.java:
源代码TestCounter.java:
计数器统计结果:
先到这里吧。。。
0 0
- MapReduce计数器
- MapReduce计数器
- MapReduce计数器
- MapReduce计数器
- MapReduce 计数器
- MapReduce计数器
- MapReduce计数器
- MapReduce--2--MapReduce全局计数器
- Hadoop MapReduce 计数器
- MapReduce 计数器简介
- MapReduce 计数器简介
- MapReduce之计数器
- MapReduce计数器计数
- MapReduce计数器详解
- mapreduce中使用计数器
- 实验7 MapReduce-计数器
- mapreduce中计数器的使用
- MapReduce之计数器及实例
- php.ini 常用的配置
- http请求学习
- Javascript的Date类型总结
- Spark--用Java开发微服务
- 51 nod 数组的最大代价
- MapReduce计数器
- Shell Script函数
- 计数排序
- linux 监控线程命令
- 基于KNN算法的约会网站配对效果 python3.2
- HDU 1035 模拟
- post 提交 和 get 提交的区别 文件上传
- Light OJ 1008 Fibsieve`s Fantabulous Birthday(找出数字位置)
- java实现递归快排和非递归快排