我正在尝试使用hive中的xmlserde从xml中提取时间戳。外部表创建链接到hdfs目录。目前,timestamp值在我的表中显示为null。
我在想时间戳需要铸造吗?我不确定。其余的xml信息工作正常,并显示在hive中。
输入文件是:
<example>
<date>2017-02-09 22:03:58<date>
</example>
配置单元创建脚本:
create external table example (
date timestamp
)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.date"="/example/date/text()"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION 'mypath'
TBLPROPERTIES (
"xmlinput.start"="<example>",
"xmlinput.end"="</example>"
);
1条答案
按热度按时间uyhoqukh1#
似乎只支持java原语类型。
查看
getPrimitiveValue
中的方法XmlUtils.java
文件。