xml を解析して目的のフィールドを取得し、目的のフィールドで操作を実行し、データを使用して csv を生成する必要があるという要件があります。
豚で利用可能な XmlLoader を見ましたが、xml タグも返すようです。私が興味を持っているのはデータです。これを達成する方法はありますか?また、データを使用して CSV を生成する必要があります。
実用的なサンプルは非常に役立ちます。
xml を解析して目的のフィールドを取得し、目的のフィールドで操作を実行し、データを使用して csv を生成する必要があるという要件があります。
豚で利用可能な XmlLoader を見ましたが、xml タグも返すようです。私が興味を持っているのはデータです。これを達成する方法はありますか?また、データを使用して CSV を生成する必要があります。
実用的なサンプルは非常に役立ちます。
REGEX_EXTRACT() を使用して、タグから情報を取得できます。おそらく SUBSTRING() と REGEX_EXTRACT_ALL も使用できます。
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/