我通过FileInputFormat
扩展了一些XMLFileInputFormat
。问题是当我在job
上设置此类时
job.setInputFormatClass(XMLFileInputFormat.class);
我收到一些错误,告诉它期望该类扩展
or.apache.hadoop.mapreduce.InputFormat
(但我检查FileInputFormat
实现了InputFormat
)这个类是这样设置的
public class XMLFileInputFormat extends FileInputFormat<NullWritable, BytesWritable> {
@Override
protected boolean isSplitable(FileSystem fs, Path filename) {
return false; }
@Override
public RecordReader<NullWritable, BytesWritable> getRecordReader(
InputSplit split, JobConf job, Reporter reporter) throws IOException {
return new XMLFileRecordReader((FileSplit) split, job);
}
}
如何正确设置
InputFormat
? 最佳答案
请在导入语句中验证包结构。它应该是
org.apache.hadoop.mapreduce.FileInputFormat。
您可能已经导入:
org.apache.hadoop.mapred.FileInputFormat