Hadoop hive serde-输入格式必须实现InputFormat

Hadoop hive serde-输入格式必须实现InputFormat,hadoop,hive,user-defined-functions,Hadoop,Hive,User Defined Functions,我已经开发了一个SerDe来处理XML数据,并在其中创建了XML数据的自定义InputFormat和RecordRedaer 下面是这些课程的签名- SerDe类- public class XMLSerde extends AbstractSerDe { 输入格式- public class XMLInputFormat extends FileInputFormat<LongWritable, BookWritable> { @Override public

我已经开发了一个SerDe来处理XML数据,并在其中创建了XML数据的自定义InputFormat和RecordRedaer

下面是这些课程的签名-

SerDe类-

public class XMLSerde extends AbstractSerDe {
输入格式-

public class XMLInputFormat extends FileInputFormat<LongWritable, BookWritable> {

    @Override
    public RecordReader<LongWritable, BookWritable> createRecordReader(InputSplit arg0,
            TaskAttemptContext arg1) throws IOException, InterruptedException {
        // TODO Auto-generated method stub
        return new XMLRecordReader();
    }
在此表上运行select查询时出现以下错误

FAILED: SemanticException 1:14 Input format must implement InputFormat. Error encountered near token 'books'
请建议。
AJ

Hive仅支持旧的mareduce API。
您应该从org.apache.hadoop.mapred.FileInputFormat类继承XMLInputFormat。

不知道它的可读性如何-package com.xml.serde;导入java.io.IOException;导入org.apache.hadoop.io.LongWritable;导入org.apache.hadoop.mapred.FileInputFormat;导入org.apache.hadoop.mapred.JobConf;导入org.apache.hadoop.mapred.Reporter;导入org.apache.hadoop.mapred.*;公共类XMLInputFormat扩展FileInputFormat{@Override public RecordReader getRecordReader InputSplit arg0,JobConf arg1,Reporter arg2抛出IOException{返回新的XMLRecordReaderarg1,FilePlitarg0;}}}XMLRecordReader还必须从旧的MapRecce API实现接口-org.apache.hadoop.mapred.RecordReader.Ya我做到了,在扩展映射的fileinputformat时,这有点像是强制性的……您能显示表创建脚本吗?也可能是您将jar与旧的class.table创建脚本一起使用-创建表booksauthor字符串、title字符串、isbn字符串行格式SERDE'com.xml.SERDE.XMLSerde'存储为INPUTFORMAT'com.xml.SERDE.XMLInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat';这方面有什么帮助吗。。。
CREATE TABLE xml_items(Author STRING, Title STRING, ISBN STRING) ROW FORMAT SERDE 'com.xml.serde.XMLSerde' STORED AS INPUTFORMAT 'com.xml.serde.XMLInputFormat';
FAILED: SemanticException 1:14 Input format must implement InputFormat. Error encountered near token 'books'