0

xml を解析して目的のフィールドを取得し、目的のフィールドで操作を実行し、データを使用して csv を生成する必要があるという要件があります。

豚で利用可能な XmlLoader を見ましたが、xml タグも返すようです。私が興味を持っているのはデータです。これを達成する方法はありますか?また、データを使用して CSV を生成する必要があります。

実用的なサンプルは非常に役立ちます。

4

2 に答える 2

0

REGEX_EXTRACT() を使用して、タグから情報を取得できます。おそらく SUBSTRING() と REGEX_EXTRACT_ALL も使用できます。

于 2013-09-27T15:54:28.893 に答える
0

piggybank jar は pig で xml ローダーを提供します

pig の load ステートメントでは、XMLLoader を使用してロードする必要があります。親タグを適切に言及する必要がある場所。

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/

于 2016-07-06T04:37:55.040 に答える