1

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) メソッドをオーバーライドしました。

ただし、これは期待どおりには機能しません。これを行う方法はありますか?

4

0 に答える 0