2012-03-08 76 views
1

我使用JSONSerde处理使用Amazon EMR存储在S3上的大量JSON数据。我的一个客户需要处理大量的XML数据,但我找不到任何XML Serde与HIVE一起使用。用于Hadoop/Hive的XML Serde

你们是否已经使用配置单元处理XML?在我开始构建自己的XML Serde之前,我将非常感谢您对此提出的建议和意见。

+0

您应该能够建立一个XML SERDE是非常相似的JSON SERDE。 – 2012-03-08 04:48:20

+0

是的,但我很惊讶XML处理不是常见的用例,而且还不存在。 – BinnyG 2012-03-08 12:57:59

回答

0

我使用的XML解析在蜂巢SERDE以下---

CREATE EXTERNAL TABLE XYZ(
X STRING, 
Y STRING, 
Z ARRAY<STRING> 
) 
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe' 
WITH SERDEPROPERTIES (
"column.xpath.X"="/XX/@X", 
"column.xpath.Y"="/YY/@Y" 
) 
STORED AS 
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat' 
LOCATION '/user/XXX' 
TBLPROPERTIES (
"xmlinput.start"="<xml start", 
"xmlinput.end"="</xml end>" 
);