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

Rohini Palaniswamy commented on PIG-4662:
-----------------------------------------

bq. I prefer to do it in optimizer, it seems to be more clear.
   As I mentioned in bloom join before, it is not good for two reasons.
1)  It would be a lot of inefficiency and performance penalty to add a separate 
filter when it just involves 3 lines of code in POLocalRearrange. It will just 
be unnecessary verbosity.
2) Also extracting out the key is done in POLocalRearrange. Adding a filter 
operator after that to filter nulls is not easy as we make lot of assumptions 
throughout the code about POLocalRearrange being the leaf of a map operator.

> New optimizer rule: filter nulls before inner joins
> ---------------------------------------------------
>
>                 Key: PIG-4662
>                 URL: https://issues.apache.org/jira/browse/PIG-4662
>             Project: Pig
>          Issue Type: Improvement
>            Reporter: Ido Hadanny
>            Assignee: Satish Subhashrao Saley
>            Priority: Minor
>              Labels: Performance
>             Fix For: 0.18.0
>
>
> As stated in the docs, rewriting an inner join and filtering nulls from 
> inputs can be a big performance gain: 
> http://pig.apache.org/docs/r0.14.0/perf.html#nulls
> We would like to add an optimizer rule which detects inner joins, and filters 
> nulls in all inputs:
> A = filter A by t is not null;
> B = filter B by x is not null;
> C = join A by t, B by x;
> see also: 
> http://stackoverflow.com/questions/32088389/is-the-pig-optimizer-filtering-nulls-before-joining



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to