Hi all ,

I am using ArrayWritable in my MR job .

Map outputs <Text ,ArrayWritable>

Reduce takes <Text,Iterable<ArrayWritable>>

The moment Iam trying to use the ArrayWritable in reduce using the iterator
..I get the following error :

10/01/02 18:23:41 WARN mapred.LocalJobRunner: job_local_0001
java.lang.RuntimeException: java.lang.NoSuchMethodException:
org.apache.hadoop.io.ArrayWritable.<init>()
    at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:81)
    at
org.apache.hadoop.io.serializer.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:62)
    at
org.apache.hadoop.io.serializer.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:40)
    at
org.apache.hadoop.mapred.Task$ValuesIterator.readNextValue(Task.java:940)
    at org.apache.hadoop.mapred.Task$ValuesIterator.next(Task.java:880)
    at
org.apache.hadoop.mapred.ReduceTask$ReduceValuesIterator.moveToNext(ReduceTask.java:237)
    at
org.apache.hadoop.mapred.ReduceTask$ReduceValuesIterator.next(ReduceTask.java:233)
    at HashJoin.MR_hash$redu.reduce(MR_hash.java:132)
    at mtr.MyTableReduce.reduce(MyTableReduce.java:1)
    at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:436)
    at
org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:170)
Caused by: java.lang.NoSuchMethodException:
org.apache.hadoop.io.ArrayWritable.<init>()
    at java.lang.Class.getConstructor0(Class.java:2723)
    at java.lang.Class.getDeclaredConstructor(Class.java:2002)
    at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:75)
    ... 10 more
java.io.IOException: Job failed!
    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232)
    at HashJoin.MR_hash.run(MR_hash.java:294)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at HashJoin.MR_hash.join(MR_hash.java:320)
    at HashJoin.MR_hash.main(MR_hash.java:338)


Can Anyone tell me what the error is ??

Reply via email to