[
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)