有没有一种方法可以将.pig\u模式或.pig\u头值访问到pigjavaudf中,这样我就知道要解析哪个字段名了。
我在一家公司工作 PigStorage
输出是由不同的过程产生的,并且它一直在快速变化。由于这些变化,我想做尽可能少的改变。
例如:以前的格式希望- {name:chararray, age:INT, salary:DOUBLE}
当前格式看起来像- {sex:chararray, name:chararray, age:INT, salary:Double }
.
在我的自定义项中,我只对姓名和薪水感兴趣,但它们作为我的输入的顺序可能如上所述有所不同。
1条答案
按热度按时间8mmmxcuj1#
就我在pig代码中看到的,自0.11以来,pig有模式元组。与
schematuple.udf
选项集(默认),模式被传递给udf函数,并且可以在udf中获得exec()
方法调用getInputSchema()
. 当您获得模式时,您将获得模式中不同元素的名称。然后可以根据字段的名称选择所需的字段。