This website has answered my question somewhat:

http://blog.pfa-labs.com/2010/01/first-stab-at-hadoop-and-map-reduce.html

When I comment out the combiner class, it seems to work fine. Thanks.

----- Original Message -----
From: "Arindam Khaled" <akha...@utdallas.edu>
To: common-user@hadoop.apache.org
Sent: Monday, November 15, 2010 6:05:58 PM
Subject: wrong value class error

Hello,

I am new to Hadoop and I think I'm doing something silly. I sent this  
e-mail from another account which isn't registered to hadoop user group.

I am getting the following error in my reducer.

10/11/15 15:29:11 WARN mapred.LocalJobRunner: job_local_0001
java.io.IOException: wrong value class: class  
org.apache.hadoop.io.Text is not class org.apache.hadoop.io.IntWritable

Here is my reduce class:

  public static class BFIDAReducer
        extends Reducer<Text,IntWritable,Text,Text> {
     private Text result = new Text();

     public void reduce(Text key, Iterable<IntWritable> values,
                        Context context
                        ) throws IOException, InterruptedException {
       Text result = new Text();
       GameFunctions gf = GameFunctions.getInstance();


       String line = "";

       for(IntWritable val: values)
         {
             line = line + val.toString() + ",";
         }

         if(line.length() > 1)
             line = (String) line.subSequence(0, line.length() - 1);

     if (gf.isSolved(key.toString(), size))
             solved = true;

       result.set(line);
       context.write(key, result);
     }
   }

And here is my partial code from job configuration:

     job.setOutputKeyClass(Text.class);
     job.setOutputValueClass(Text.class);
     job.setMapOutputKeyClass(Text.class);
     job.setMapOutputValueClass(IntWritable.class);

Can anyone help me?



I know I'll have more question in near future.

Thanks in advance.

Arindam





Reply via email to