0

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

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

例如:以前的格式喜欢 -{name:chararray, age:INT, salary:DOUBLE}

当前格式看起来像 - {sex:chararray, name:chararray, age:INT, salary:Double }

在我的 udf 中,我只对姓名和薪水感兴趣,但它们作为我的输入给出的顺序可能会有所不同,如上所述。

4

1 回答 1

1

对于我在 Pig 代码中看到的内容,从 0.11 开始,Pig 具有模式元组。使用schematuple.udf选项集(默认),模式被传递给 UDF 函数,并且可以在 UDFexec()方法调用中获得getInputSchema()。当您获得架构时,您将获得架构中不同元素的名称。然后,您可以根据名称选择所需的字段。

于 2016-03-11T21:55:26.513 回答