PIG Logical Optimization: Push LOFilter above LOCogroup
--------------------------------------------------------
Key: PIG-1530
URL: https://issues.apache.org/jira/browse/PIG-1530
Project: Pig
Issue Type: New Feature
Components: impl
Reporter: Swati Jain
Assignee: Swati Jain
Priority: Minor
Fix For: 0.8.0
Consider the following:
{noformat}
A = load '<any file>' USING PigStorage(',') as (a1:int,a2:int,a3:int);
B = load '<any file>' USING PigStorage(',') as (b1:int,b2:int,b3:int);
G = COGROUP A by (a1,a2) , B by (b1,b2);
D = Filter G by group.$0 + 5 > group.$1;
explain D;
{noformat}
In the above example, LOFilter can be pushed above LOCogroup. Note there are
some tricky NULL issues to think about when the Cogroup is not of type INNER
(Similar to issues that need to be thought through when pushing LOFilter on the
right side of a LeftOuterJoin).
Also note that typically the LOFilter in user programs will be below a
ForEach-Cogroup pair. To make this really useful, we need to also implement
LOFilter pushed across ForEach.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.