xml を解析し、ユーザーが pig スクリプトに指定したパラメーターに基づいて列を生成する必要があります。
たとえば、次のxmlを検討してください
<school>
<students>
<student>
<name>test</test>
<rno>1</rno>
<rank>3</rank>
</student>
<student>
<name>xyz</test>
<rno>3</rno>
<rank>2</rank>
</student>
<students>
</school>
私の要件は、xml を解析し、ユーザーが指定したフィールド名に応じて属性を生成することです。たとえば、ユーザーがフィールド名を 'name|rno' と指定した場合、パーサーは xml を解析し、name と rno を含むタプルを返す必要があります。
私は XML ローダーを使用して学生までの xml を解析してから、学生の xml を解析するための Java UDF を作成しました。Java UDF クラスでパラメーター化されたコンストラクターを定義しようとしました。ここで、解析する列/属性を渡します。次に、列名を取得して新しいフィールド スキーマを追加する outputSchema(Schema input) メソッドをオーバーライドしました。
ただし、これは期待どおりには機能しません。これを行う方法はありますか?