我需要解析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的元组。
我使用xmloader将xml解析到student,然后编写了一个javaudf来解析student xml。我试图在javaudf类中定义一个参数化的构造函数,在这个类中我传递要解析的列/属性。然后我重写了outputschema(schema input)方法,在该方法中,我获取列名并添加新的字段schema。
然而,这并不是预期的工作方式。有什么办法可以完成这件事吗?
暂无答案!
目前还没有任何答案,快来回答吧!