Hadoop 2.2映射文件创建失败
我使用Hadoop 2.2Hadoop 2.2映射文件创建失败,hadoop,Hadoop,我使用Hadoop 2.2 我的代码创建了一个映射文件编写器,如下所示 Configuration conf = new Configuration(); Path path = new Path(filename); writer = new MapFile.Writer(conf,path, SequenceFile.Writer.keyClass(key.getClass()), SequenceFile.Writer.valueClass(value.getC
我的代码创建了一个映射文件编写器,如下所示
Configuration conf = new Configuration();
Path path = new Path(filename);
writer = new MapFile.Writer(conf,path,
SequenceFile.Writer.keyClass(key.getClass()),
SequenceFile.Writer.valueClass(value.getClass()),
SequenceFile.Writer.compression(SequenceFile.CompressionType.NONE));
public class ReportingKeyWritable extends BinaryComparable implements
WritableComparable<BinaryComparable> {
public class ReportingValueWritable implements Writable
我的密钥类声明如下
Configuration conf = new Configuration();
Path path = new Path(filename);
writer = new MapFile.Writer(conf,path,
SequenceFile.Writer.keyClass(key.getClass()),
SequenceFile.Writer.valueClass(value.getClass()),
SequenceFile.Writer.compression(SequenceFile.CompressionType.NONE));
public class ReportingKeyWritable extends BinaryComparable implements
WritableComparable<BinaryComparable> {
public class ReportingValueWritable implements Writable
构造函数失败,出现以下异常
java.lang.IllegalArgumentException:必须设置key类或comparator选项
位于org.apache.hadoop.io.MapFile$Writer.(MapFile.java:246)
位于DataLoader.main(DataLoader.java:66)
它可以正常工作:
writer = new MapFile.Writer(conf,path,
MapFile.Writer.keyClass(key.getClass()),
MapFile.Writer.valueClass(value.getClass()),
MapFile.Writer.compression(SequenceFile.CompressionType.NONE));