HIVE XML SerDe:异常java.io.IOException失败:java.lang.NullPointerException

问题描述 投票:0回答:1

我使用XML SerDe从XML文件创建一个带有HIVE(Hive 2.1.1-mapr-1703)的外部表。该文件是来自W3C联盟的XML example

这是我创建表的代码:

add jar /mapr/localpath/hivexmlserde-1.0.5.3.jar;
USE my_db;
CREATE EXTERNAL TABLE frank_books (
category STRING,
title STRING,
language STRING,
year BIGINT
)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.category" = "/book/@category",
"column.xpath.title"    = "/book/title/text()",
"column.xpath.language" = "/book/title/@lang",
"column.xpath.year"     = "/book/year/text()"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION '/mapr/localpath/database_files/xml_example'
TBLPROPERTIES (
"xmlinput.start" = "<book category",
"xmlinput.stop" = "</book>"
)

表本身存在是因为describe语句不会导致错误:

describe frank_books;

像下面这样的简单select语句会导致NullPointerException:

select * from my_db.frank_books;

这是输出:

OK
Failed with exception java.io.IOException:java.lang.NullPointerException
Time taken: 1.117 seconds

任何人都可以帮忙,请向我解释错误吗?

谢谢,弗兰克

xml hive hive-serde
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.