我正在尝试使用 Hive 中的 xml serde 从 xml 中提取时间戳。外部表创建链接到 hdfs 目录。目前,时间戳值在我的表中显示为 null。
我在想时间戳需要被铸造吗?我不确定。其余的 xml 信息工作正常并显示在 hive 中。
输入文件为:
<example>
<date>2017-02-09 22:03:58<date>
</example>
Hive 创建脚本:
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>"
);