在mapreduce作业中设置自定义文件格式类

时间:2015-06-25 10:49:13

标签: java hadoop mapreduce

我通过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

1 个答案:

答案 0 :(得分:0)

请在import语句中验证包结构。它应该是 org.apache.hadoop.mapreduce.FileInputFormat。

您可以导入: org.apache.hadoop.mapred.FileInputFormat