【发布时间】:2018-05-19 18:47:47
【问题描述】:
如何在 hive 中处理这个 XML 文件,我只想要输出中的 USERNAME 和 PASSWORD
<?XML version=’1.0′ ?>
<DATA>
<USER USERNAME="ABC" FIRSTNAME="RAJ" LASTNAME="KUMAR" PASSWORD="123" />
<USER USERNAME="DEF" FIRSTNAME="VENKAT" LASTNAME="BALAJI" PASSWORD="123" />
</DATA>
CREATE TABLE user_xml(USERNAME string,PASSWORD string)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.USERNAME"="/DATA/USER/USERNAME/text()",
"column.xpath.PASSWORD"="/DATA/USER/PASSWORD/text()"
) STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
TBLPROPERTIES ("xmlinput.start"="<DATA","xmlinput.end"="</DATA>");
【问题讨论】:
-
您能分享一下到目前为止您尝试过的内容吗?如果您还没有尝试过,请参考 SO 中的这个问题:stackoverflow.com/questions/20852166/…
-
xmlinput.start"="<DATA... 你是不是少了一个关闭标签? -
我也试过了,但问题仍然存在
标签: hadoop hive hiveql sqoop archive