在Mapper类中以Text作为key,ArrayWritable作为value
context.write(new Text(xxx), new ArrayWriteable(xxx));
报错NoSuchMethodException: org.apache.hadoop.io.ArrayWritable.
因为ArrayWritable没有无参构造方法,需要我们自定义一个类继承它
import org.apache.hadoop.io.ArrayWritable;
import org.apache.hadoop.io.UTF8;
public class MyArrayWriteable extends ArrayWritable {
public MyArrayWriteable() {
super(UTF8.class);
}
public MyArrayWriteable(String[] strings) {
super(strings);
}
}
将整个mapreduce程序中的ArrayWritable 全部换为MyArrayWriteable 运行成功