最佳Pig过滤器子句顺序

时间:2014-10-22 04:33:04

标签: apache-pig

说我有这样的过滤条款:

filtered = FILTER rel BY cond1 AND cond2;

假设cond1消除了rel的10%,cond2消除了80%。如果我将cond2放在cond1之前,我的脚本会看到性能提升吗?我应该完全将它分成​​两个单独的FILTER语句吗?或者这个优化是否已经为我做了优化?

2 个答案:

答案 0 :(得分:2)

过滤器优化技术在pig文档中有明确说明,您可以从以下链接查看"FilterLogicExpressionSimplifier""SplitFilter"

http://pig.apache.org/docs/r0.13.0/perf.html#optimization-rules

答案 1 :(得分:1)

大多数pig作业都由IO(磁盘和网络)控制,而filter子句需要查看rel中的所有记录以应用谓词。因此,我认为通过切换订单,您不会看到任何显着的性能提升。