You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Daniel Dai (JIRA)" <ji...@apache.org> on 2011/03/21 00:31:06 UTC
[jira] [Resolved] (PIG-1892) Bug in new logical plan : No output
generated even though there are valid records
[ https://issues.apache.org/jira/browse/PIG-1892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Dai resolved PIG-1892.
-----------------------------
Resolution: Fixed
Hadoop Flags: [Reviewed]
Test-patch:
[exec] -1 overall.
[exec]
[exec] +1 @author. The patch does not contain any @author tags.
[exec]
[exec] +1 tests included. The patch appears to include 3 new or modified tests.
[exec]
[exec] +1 javadoc. The javadoc tool did not generate any warning messages.
[exec]
[exec] +1 javac. The applied patch does not increase the total number of javac compiler warnings.
[exec]
[exec] +1 findbugs. The patch does not introduce any new Findbugs warnings.
[exec]
[exec] -1 release audit. The applied patch generated 543 release audit warnings (more than the trunk's current 540 warnings).
All tests pass.
Patch committed to both trunk and 0.8 branch.
> Bug in new logical plan : No output generated even though there are valid records
> ---------------------------------------------------------------------------------
>
> Key: PIG-1892
> URL: https://issues.apache.org/jira/browse/PIG-1892
> Project: Pig
> Issue Type: Bug
> Affects Versions: 0.8.0, 0.9.0
> Reporter: Vivek Padmanabhan
> Assignee: Daniel Dai
> Fix For: 0.8.0
>
> Attachments: PIG-1892-1.patch, PIG-1892-2.patch
>
>
> I have the below script which provides me no output even though there are valid records in relation B which is used for the left out join.
> A0 = load 'input' using Maploader() as ( map1, map2, map3 );
> A = filter A0 by ( (map2#'params'#'prop' == 464) and (map2#'params'#'query' is not null) );
> B0 = filter A by (map1#'type' == 'c');
> B = filter B0 by ( map2#'info'#'s' matches 'aaaa|bbb|cccc');
> C = filter A by (map1#'type' == 'p');
> D = join B by map2#'params'#'query' LEFT OUTER , C by map2#'params'#'query';
> store D into 'output';
> This is a bug with the newlogical plan. From the plan i can see that map1#'type' and map2#'info'#'s' is not marked as RequiredKeys ,
> but where as all the fields reffered in the firts filter statement is marked as required.
> For the script to work I have to turn off the coloumn prune optimizer by -t ColumnMapKeyPrune or rearrange the script such that;
> B0 = filter A0 by ( (map2#'params'#'prop' == 464) and (map2#'params'#'query' is not null) and (map1#'type' == 'c') );
> C = filter A0 by ( (map2#'params'#'prop' == 464) and (map2#'params'#'query' is not null) and (map1#'type' == 'p') );
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira