我想使用Pig解析XML文件。请在下面找到XML
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>
<amount>25</amount>
<tax>12</tax>
<total>37</total>
</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML</description>
</book>
</catalog>
我目前正在使用XMLLoader加载XML文件并使用正则表达式来解析XML
代码:
REGISTER piggybank.jar
A=LOAD '/users/books.xml' using org.apache.pig.piggybank.storage.XMLLoader
('book') as (x:chararray);
B=FOREACH A GENERATE(REGEX_EXTRACT_ALL(x,'<book.*?id="([^>]*?">.*?<author>([^>]*?)</author>.*?</book>'));
dump B;
我想了解是否有其他方法来解析XML - 可能正在使用UDF。是否有任何可用于解析XML的UDF,或者如何创建UDF以实现我的目的。我使用的是Pig版本0.12,XPath在这个版本中不起作用。
提前致谢