1
ハイブでxml serdeを使用してxmlからタイムスタンプを抽出しようとしています。外部テーブルの作成は、hdfsディレクトリにリンクします。現在、タイムスタンプの値は、私のテーブルにnullとして表示されます。XMLハイブSerde ExtractタイムスタンプHadoop
タイムスタンプをキャストする必要があると思いますか?私はわかりません。残りのXML情報は正しく動作しており、ハイブに表示されます。
入力ファイルは次のとおりです。
<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>"
);