2013-02-06 95 views
0

我有一個需求,我必須解析xml以獲得所需的字段,在所需的字段上執行操作並使用數據生成csv。xml解析豬

我看了一下在豬中可用的XmlLoader,但它似乎也返回了xml標記。 我感興趣的是數據。有什麼辦法可以做到這一點? 我還需要使用這些數據生成一個CSV。

任何工作樣品都會有很大的幫助。

+0

如何嵌套/層次是你的XML,你能發表一個例子嗎? –

回答

0

您可以使用REGEX_EXTRACT()從標籤中獲取信息,也可能使用SUBSTRING()和REGEX_EXTRACT_ALL。

0

撲滿罐子提供豬

在你需要使用XMLLoader裝載豬的負荷聲明XML裝載機。你需要正確提及父母標籤。

A = load '/path of the file' using org.apache.pig.piggybank.storage.XMLLoader('parent_tag') as (x:chararray); 
B = foreach A generate REPLACE(x,'[\\n]','') as x; 

在這之後,你必須將代碼之間用REGEX_EXTRACT_ALL提取數據

C = foreach B generate REGEX_EXTRACT_ALL(x,'.*(?:<child_tag1>)([^<]*).*(?:<child_tag2>)([^<]*).*'); 

欲瞭解更多詳細信息,您可以參考以下鏈接

https://acadgild.com/blog/converting-xml-into-csv-using-pig/