PIG Logical Optimization: Use CNF in FilterAboveForeach
-------------------------------------------------------

                 Key: PIG-1532
                 URL: https://issues.apache.org/jira/browse/PIG-1532
             Project: Pig
          Issue Type: Bug
          Components: impl
            Reporter: Swati Jain
            Priority: Minor


Consider the following program, ( g1-4 < 348 ) predicate should be pushed above 
LOForeach. This would be possible if we convert the filter expression into CNF 
and push individual conjuncts below LOForeach.

{noformat}
A = load 'f1' USING PigStorage(',') as (a1:int,a2:int,a3:int);
B = load 'f2' USING PigStorage(',') as (b1:int,b2:int);
G1 = GROUP A by a1, B by b1;
C = FOREACH G1 GENERATE group as g1, MAX(A.a2) as max_a2, COUNT_STAR(B.b2) as 
max_b2;
D = Filter C by (g1+max_a2 > 1 or g1 >= 23) and ( g1-4 < 348 );
explain D;
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to