Hive 在配置单元中解析嵌套xml文件返回空数据

Hive 在配置单元中解析嵌套xml文件返回空数据,hive,hiveql,Hive,Hiveql,我正在使用hivexml serde解析一个嵌套的xml文件,但是当我们从hive表中选择数据时,它返回null。 示例xml文件是。 我为解析xml而创建的查询 CREATE EXTERNAL TABLE IF NOT EXISTS abc ( mail string, Type string, Id bigint, Date string, LId bigint, value string) ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.Xml

我正在使用hivexml serde解析一个嵌套的xml文件,但是当我们从hive表中选择数据时,它返回null。 示例xml文件是。 我为解析xml而创建的查询

CREATE EXTERNAL TABLE IF NOT EXISTS abc ( mail string, Type string, Id bigint, Date string, LId bigint, value string)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.OptOutEmail"="/Re/mail/text()",
"column.xpath.OptOutType"="/Re/Type/text()",
"column.xpath.SurveyId"="/Re/Id/text()",
"column.xpath.RequestedDate"="/Re/Date/text()",
"column.xpath.EmailListId"="/Re/Lists/LId/text()",
"column.xpath.Description"="/Re/Lists/value/text()")
STORED AS INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION '/abc/xyz'
TBLPROPERTIES ("xmlinput.start"="<Out>","xmlinput.end"= "</Out>");
创建不存在的外部表abc(邮件字符串、类型字符串、Id bigint、日期字符串、LId bigint、值字符串)
行格式SERDE'com.ibm.spss.hive.serde2.xml.XmlSerDe'
具有serdeproperty(
“column.xpath.OptOutEmail”=“/Re/mail/text()”,
“column.xpath.OptOutType”=“/Re/Type/text()”,
“column.xpath.SurveyId”=“/Re/Id/text()”,
“column.xpath.RequestedDate”=“/Re/Date/text()”,
“column.xpath.EmailListId”=“/Re/Lists/LId/text()”,
“column.xpath.Description”=“/Re/Lists/value/text()”)
存储为INPUTFORMAT'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
位置'/abc/xyz'
TBLProperty(“xmlinput.start=”、“xmlinput.end=”);

请找人帮忙。

尝试以下查询。我已从本地路径将数据加载到表中

CREATE EXTERNAL TABLE IF NOT EXISTS xmlList ( mail string, Type string, Id 
 bigint, Dated  string, LId bigint, value string)
 ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
 WITH SERDEPROPERTIES (
 "column.xpath.mail"="/Re/mail/text()",
 "column.xpath.Type"="/Re/Type/text()",
 "column.xpath.Id"="/Re/Id/text()",
 "column.xpath.Dated"="/Re/Dated/text()",
 "column.xpath.LId"="/Re/Lists/List/LId/text()",
 "column.xpath.value"="/Re/Lists/List/value/text()")
 STORED AS INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
 OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
 TBLPROPERTIES ("xmlinput.start"="<Re>","xmlinput.end"= "</Re>");
如果不存在,则创建外部表xmlList(邮件字符串、类型字符串、Id
bigint、日期字符串、LId bigint、值字符串)
行格式SERDE'com.ibm.spss.hive.serde2.xml.XmlSerDe'
具有serdeproperty(
“column.xpath.mail”=“/Re/mail/text()”,
“column.xpath.Type”=“/Re/Type/text()”,
“column.xpath.Id”=“/Re/Id/text()”,
“column.xpath.Dated”=“/Re/Dated/text()”,
“column.xpath.LId”=“/Re/Lists/List/LId/text()”,
“column.xpath.value”=“/Re/Lists/List/value/text()”)
存储为INPUTFORMAT'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
TBLProperty(“xmlinput.start=”、“xmlinput.end=”);