Hi,

I use a counter in my reducer to check whether another iteration (of map reduce cycle) is necessary. I have a similar declaration as yours.
Then in my main program i have:

***
client.setConf(conf);
RunningJob rj = JobClient.runJob(conf);
Counters cs = rj.getCounters();
long swaps=cs.getCounter(Red.Count.SWAPS);

where Red is the class that defines the reducer and contains the enumeration.

Cheers,
Christian

Daniel Yu skrev:
hi,
  i defined a counter of my own, and updated it in map method,

protected static enum MyCounter {
        INPUT_WORDS
    };
...
public void map(...) {
  ...
    reporter.incrCounter(MyCounter.INPUT_WORDS, 1);
}

and can i fetch the counts later? like in the  run() method after the job is
finished,
coz i want to store it as a parameter file for later MR jobs.

looks like the framework will use Counters.getCounter(enum key) to return a
certain count,
which can be seen when the JobClient tries to run a job, but in my
application(outside the
job running) how can i get the Counters object? my guess is its maintained
by the framework,
so user doesnt need to create Counters object in the application.

Thanks.

Daniel


Reply via email to