You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Aniket Mokashi (JIRA)" <ji...@apache.org> on 2014/01/19 03:01:20 UTC

[jira] [Commented] (PIG-2747) Support more predicate pushdown to a data source by pulling up multiple predicates from branches using the same data source

    [ https://issues.apache.org/jira/browse/PIG-2747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13875795#comment-13875795 ] 

Aniket Mokashi commented on PIG-2747:
-------------------------------------

Duplicate of PIG-2668

> Support more predicate pushdown to a data source by pulling up multiple predicates from branches using the same data source
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PIG-2747
>                 URL: https://issues.apache.org/jira/browse/PIG-2747
>             Project: Pig
>          Issue Type: Improvement
>            Reporter: Yu Xu
>            Priority: Minor
>
> consider the following example:
> T = load ... ;
> T1 = filter T by col == 'hello';
> T2 = filter T by col =='world';
> currently Pig optimizer does not combine the two predicates and cannot push down the predicates to the data sources (via LoadMetadata).  Thus the data source cannot do any filtering. A full table/file scan is required.
> A current more efficient workaround (by hand) is to rewrite the above script to the following equivalent one:
> T = load ...;
> T = filter T by col == 'hello' or col == 'world' ;
> T1 = filter T by col == 'hello';
> T2 = filter T by col == 'world';
> the above script enables Pig to push down the predicate (col == 'hello' or col == 'world') to the data source to use available partitions/indexes for potentially much more efficient processing. 
> This JIRA is created to request PIG optimizer to perform the above type of optimization automatically. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)