您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關hadoop如何實現計數器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1)枚舉聲明計數器
Context context...//自定義枚舉變量Enum Counter counter = context.getCounter(Enum enum)
2)自定義計數器
Context context...//自己命名groupName和counterName Counter counter = context.getCounter(String groupName,String counterName)
1)初始化計數器
counter.setValue(long value);//設置初始值
2)計數器自增
counter.increment(long incr);//增加計數
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如何實現計數器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。