Pig udf效率对抗级联内置功能

时间:2016-04-08 11:52:17

标签: apache-pig pig-udf bigdata

我是PIG脚本的新手,我有一个要求,我需要在多达10个条件下执行Ladder If Else, 根据我所掌握的知识,我们只有三元运算符,所以我想写一个UDF,如同下面的级联三元运算符: - (条件:statement1?(条件:声明2?声明3))

数据大小是数千万行,我是否应该继续努力为我的要求创建UDF。?

如果它最终会导致性能问题,那就没有必要付出努力。

据我所知,将针对每一行考虑对UDF进行调用,并且对百万条记录的递归调用是一个严重的开销。

1 个答案:

答案 0 :(得分:1)

我认为如果你有权访问一个大型集群,那么UDF应该不是问题,它会提高脚本的可读性。 最后,您的脚本也编译为java可执行文件。 如果您可以在昂贵的操作之前过滤数据,那么性能上最大的胜利。