阅读pig scheme / header以了解元组中字段的顺序

时间:2016-03-11 20:42:29

标签: apache-pig udf pig-udf

有没有办法将.pig_schema或.pig_header值访问到pig java udf中,以便我知道正在解析哪个字段名称。

我处理由不同进程生成的PigStorage输出,并且它会不断变化。由于这些变化,我希望尽可能少地做出更改。

例如:之前的格式就像 - {name:chararray, age:INT, salary:DOUBLE}

当前格式如下 - {sex:chararray, name:chararray, age:INT, salary:Double }

在我的udf中,我只对名字和工资感兴趣,但是作为我的输入的顺序可以如上所述变化。

1 个答案:

答案 0 :(得分:1)

对于我在Pig代码中看到的内容,自0.11以来,Pig有架构元组。设置schematuple.udf选项(默认)后,架构将传递给UDF函数,并且可以在调用exec()的UDF getInputSchema()方法中获取。获得架构后,您将获得架构的不同元素的名称。然后,您可以根据名称选择所需的字段。