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 ??