猪从 HCat 中的列爆炸 XML

Pig Explode XML from Column in HCat

我在配置单元 table 中有如下所示的数据:

col1    |    col2
12345       <AnXMLElement><AChildElement1>2</AChildElement1><AChildElement2>4</AChildElement2></AnXMLElement>

我想把第二列分解成如下元素:

col1    |    col2    |  AChildElement1   |   AChildElement2
12345    <OriginalData>      2                   4

并将其写入 CSV 文件。

我可以使用 Hive/Hcat 加载程序将数据拉入并将其过滤到这两列,但我对如何使用 XPath 或 XMLoader 从已过滤的集合中加载列感到困惑结果。有没有办法使用 XPath 或 XMLoader 仅从列而不是文件加载?

提前致谢。

使用如下:-

select *,xpath_string(z,'//AChildElement1'),xpath_string(z,'//AChildElement2') from table;

更多 XMLpath 相关函数:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+XPathUDF

或者您也可以使用 XMLserde 方法。