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