Hi  Steve,

public void map(Text key, Text val, OutputCollector<Text, Text> output,
      Reporter reporter) throws IOException {
      ............   
      reporter.incrCounter(RecordCounters.TYPE_A, 1);
      ............
  }

  You can increment the counter based on your business logic in mappers or 
reducers as shown above.

If you launch your job with JobClient.runJob(), the information printed on 
stdout when the job completes will contain the values of all the counters. Both 
runJob() and submitJob() will return a RunningJob object that refers to the 
running job. The RunningJob.getCounters() method will return a Counters object 
that contains the values of all the counters so that you can query them 
programmatically. The Counters.getCounter(Enum key) method returns the value of 
a particular counter.


Thanks&Regards
  Devaraj
________________________________________
From: Steve Lewis [lordjoe2...@gmail.com]
Sent: Tuesday, September 27, 2011 12:47 AM
To: mapreduce-user
Subject: Reading the value of a counter

 Assume I have a class which extends Configured implements Tool

Assume I run the job using the run method.

Within my job I increment a counter. When I finish the run I want the final 
value of the counter.

in the code which calls the run method (which in my system is running outside 
of the cluster ) how to I get the final value of
my counter after the job is complete. Assume I run 0.20? . A code sampel would 
be very usefil

Also a job prints to stderr a report of Reduce input groups, Combine output 
records,Map input records

11/09/26 11:15:42 INFO mapred.JobClient:     Reduce input groups=26308
11/09/26 11:15:42 INFO mapred.JobClient:     Combine output records=0
11/09/26 11:15:42 INFO mapred.JobClient:     Map input records=12606891

Is there a way for my code to access these numbers after the job has completed?

--
Steven M. Lewis PhD
4221 105th Ave NE
Kirkland, WA 98033
206-384-1340 (cell)
Skype lordjoe_com


Reply via email to