【发布时间】:2017-03-02 01:02:01
【问题描述】:
我正在尝试将 XML 文件加载到我的配置单元表中。下面是我的配置单元表查询。
CREATE TABLE MYDATA(NAME STRING, AGE INT, SEX STRING)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES(
"column.xpath.NAME"="/TAG/NAME/text()",
"column.xpath.AGE"="/TAG/AGE/int()",
"column.xpath.SEX"="/TAG/SEX/text()")
STORED AS INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION '/home/sid/hivexmltab'
TBLPROPERTIES("xmlinput.start"="<TAG","xmlinput.end"="</TAG>");
我的输入文件格式如下:
<TAG>
<NAME>ABCD</NAME><AGE>25</AGE><SEX>male</SEX>
<NAME>EFGH</NAME><AGE>23</AGE><SEX>female</SEX>
</TAG>
我想看到如下输出:
ABCD,25,male
EFGH,23,female
但我得到如下输出:
<string>ABCDEFGH</string> NULL <string>malefemale</string>
我正在使用 jar 文件:用于 Xml SerDe 的 hivexmlserde-1.0.5.3.jar
谁能告诉我我在这里犯了什么错误? 任何帮助表示赞赏。
【问题讨论】: