Sharath,

You're using  reporter.incrCounter(enumVal, intVal);  to increment counter,
I think method to get should also be similar.

Try to use findCounter(enumVal).getCounter() or  getCounter(enumVal).

Hope this helps,
Rasit

2009/2/5 some speed <speed.s...@gmail.com>:
> In fact I put the enum in my Reduce method as the following link (from
> Yahoo) says so:
>
> http://public.yahoo.com/gogate/hadoop-tutorial/html/module5.html#metrics
> --->Look at the section under Reporting Custom Metrics.
>
> 2009/2/5 some speed <speed.s...@gmail.com>
>
>> Thanks Rasit.
>>
>> I did as you said.
>>
>> 1) Put the static enum MyCounter{ct_key1} just above main()
>>
>> 2) Changed  result =
>> ct.findCounter("org.apache.hadoop.mapred.Task$Counter", 1,
>> "Reduce.MyCounter").getCounter();
>>
>> Still is doesnt seem to help. It throws a null pointer exception.Its not
>> able to find the Counter.
>>
>>
>>
>> Thanks,
>>
>> Sharath
>>
>>
>>
>>
>> On Thu, Feb 5, 2009 at 8:04 AM, Rasit OZDAS <rasitoz...@gmail.com> wrote:
>>
>>> Forgot to say, value "0" means that the requested counter does not exist.
>>>
>>> 2009/2/5 Rasit OZDAS <rasitoz...@gmail.com>:
>>> > Sharath,
>>> >  I think the static enum definition should be out of Reduce class.
>>> > Hadoop probably tries to find it elsewhere with "MyCounter", but it's
>>> > actually "Reduce.MyCounter" in your example.
>>> >
>>> > Hope this helps,
>>> > Rasit
>>> >
>>> > 2009/2/5 some speed <speed.s...@gmail.com>:
>>> >> I Tried the following...It gets compiled but the value of result seems
>>> to be
>>> >> 0 always.
>>> >>
>>> >>        RunningJob running = JobClient.runJob(conf);
>>> >>
>>> >>         Counters ct = new Counters();
>>> >>             ct = running.getCounters();
>>> >>
>>> >>        long     result =
>>> >> ct.findCounter("org.apache.hadoop.mapred.Task$Counter", 0,
>>> >> "*MyCounter*").getCounter();
>>> >> //even tried MyCounter.Key1
>>> >>
>>> >>
>>> >>
>>> >> Does anyone know whay that is happening?
>>> >>
>>> >> Thanks,
>>> >>
>>> >> Sharath
>>> >>
>>> >>
>>> >>
>>> >> On Thu, Feb 5, 2009 at 5:59 AM, some speed <speed.s...@gmail.com>
>>> wrote:
>>> >>
>>> >>> Hi Tom,
>>> >>>
>>> >>> I get the error :
>>> >>>
>>> >>> Cannot find Symbol* "**MyCounter.ct_key1 " *
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> On Thu, Feb 5, 2009 at 5:51 AM, Tom White <t...@cloudera.com> wrote:
>>> >>>
>>> >>>> Hi Sharath,
>>> >>>>
>>> >>>> The code you posted looks right to me. Counters#getCounter() will
>>> >>>> return the counter's value. What error are you getting?
>>> >>>>
>>> >>>> Tom
>>> >>>>
>>> >>>> On Thu, Feb 5, 2009 at 10:09 AM, some speed <speed.s...@gmail.com>
>>> wrote:
>>> >>>> > Hi,
>>> >>>> >
>>> >>>> > Can someone help me with the usage of counters please? I am
>>> incrementing
>>> >>>> a
>>> >>>> > counter in Reduce method but I am unable to collect the counter
>>> value
>>> >>>> after
>>> >>>> > the job is completed.
>>> >>>> >
>>> >>>> > Its something like this:
>>> >>>> >
>>> >>>> > public static class Reduce extends MapReduceBase implements
>>> >>>> Reducer<Text,
>>> >>>> > FloatWritable, Text, FloatWritable>
>>> >>>> >    {
>>> >>>> >        static enum MyCounter{ct_key1};
>>> >>>> >
>>> >>>> >         public void reduce(..............) throws IOException
>>> >>>> >        {
>>> >>>> >
>>> >>>> >            reporter.incrCounter(MyCounter.ct_key1, 1);
>>> >>>> >
>>> >>>> >            output.collect(......);
>>> >>>> >
>>> >>>> >        }
>>> >>>> > }
>>> >>>> >
>>> >>>> > -----main method----
>>> >>>> > {
>>> >>>> >            RunningJob running = null;
>>> >>>> >            running=JobClient.runJob(conf);
>>> >>>> >
>>> >>>> >            Counters ct = running.getCounters();
>>> >>>> > /*********  How do I Collect the ct_key1 value ????***********/
>>> >>>> >            long res = ct.getCounter(MyCounter.ct_key1);
>>> >>>> >
>>> >>>> > }
>>> >>>> >
>>> >>>> >
>>> >>>> >
>>> >>>> >
>>> >>>> >
>>> >>>> > Thanks,
>>> >>>> >
>>> >>>> > Sharath
>>> >>>> >
>>> >>>>
>>> >>>
>>> >>>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > M. Raşit ÖZDAŞ
>>> >
>>>
>>>
>>>
>>> --
>>> M. Raşit ÖZDAŞ
>>>
>>
>>
>



-- 
M. Raşit ÖZDAŞ

Reply via email to