Pig从HCat中的列分解XML

Pig从HCat中的列分解XML,xml,hadoop,hive,apache-pig,Xml,Hadoop,Hive,Apache Pig,我在配置单元表中有如下数据: col1 | col2 12345 <AnXMLElement><AChildElement1>2</AChildElement1><AChildElement2>4</AChildElement2></AnXMLElement> col1 | col2 12345 24 我想把第二列分解成如下元素: col1 | col2 | ACh

我在配置单元表中有如下数据:

col1    |    col2
12345       <AnXMLElement><AChildElement1>2</AChildElement1><AChildElement2>4</AChildElement2></AnXMLElement>
col1 | col2
12345       24
我想把第二列分解成如下元素:

col1    |    col2    |  AChildElement1   |   AChildElement2
12345    <OriginalData>      2                   4
col1 | col2 | AChildElement1 | AChildElement2
12345          2                   4
并将其写入CSV文件

我可以使用Hive/Hcat加载程序将数据拉入并向下过滤到这两列,但我不知道如何使用XPath或XMLoader从已过滤的结果集中加载列。有没有一种方法可以使用XPath或XMLoader只从列而不是文件中加载

提前感谢。

使用方法如下:-

select *,xpath_string(z,'//AChildElement1'),xpath_string(z,'//AChildElement2') from table;
有关更多与XMLpath相关的函数:

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

Great:)请接受答案供他人参考。谢谢