hadoop如何实现计数器
这篇文章将为大家详细讲解有关hadoop如何实现计数器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联于2013年创立,先为商洛等服务建站,商洛等地企业,进行企业商务咨询服务。为商洛企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1、定义计数器
1)枚举声明计数器
Context context...//自定义枚举变量Enum Counter counter = context.getCounter(Enum enum)
2)自定义计数器
Context context...//自己命名groupName和counterName Counter counter = context.getCounter(String groupName,String counterName)
2、为计数器赋值
1)初始化计数器
counter.setValue(long value);//设置初始值
2)计数器自增
counter.increment(long incr);//增加计数
3、获取计数器的值
1) 获取枚举计数器的值
Job job... job.waitForCompletion(true); Counters counters=job.getCounters(); Counter counter=counters.findCounter("BAD_RECORDS");//查找枚举计数器,假如Enum的变量为BAD_RECORDS long value=counter.getValue();//获取计数值
2) 获取自定义计数器的值
Job job...job.waitForCompletion(true); Counters counters=job.getCounters(); Counter counter=counters.findCounter("ErrorCounter","toolong");//假如groupName为ErrorCounter,counterName为toolong long value=counter.getValue();//获取计数值
3) 获取内置计数器的值
textpop-up
Job job...job.waitForCompletion(true); Counters counters=job.getCounters();//查找作业运行启动的reduce个数的计数器,groupName和counterName可以从内置计数器表格查询(前面已经列举有) Counter counter=counters.findCounter("org.apache.hadoop.mapreduce.JobCounter","TOTAL_LAUNCHED_REDUCES");//假如groupName为org.apache.hadoop.mapreduce.JobCounter,counterName为TOTAL_LAUNCHED_REDUCES long value=counter.getValue();//获取计数值
4) 获取所有计数器的值
Counters counters = job.getCounters(); for (CounterGroup group : counters) { for (Counter counter : group) { System.out.println(counter.getDisplayName() + ": " + counter.getName() + ": "+ counter.getValue()); } }
关于“hadoop如何实现计数器”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
网页名称:hadoop如何实现计数器
本文地址:http://scyanting.com/article/jhosho.html