Dima Zhiyanov created SPARK-6072:
------------------------------------

             Summary: Enable hash joins for nullable columns
                 Key: SPARK-6072
                 URL: https://issues.apache.org/jira/browse/SPARK-6072
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 1.2.1
            Reporter: Dima Zhiyanov


Currently joins such as 
A join B on A.x = B.x AND A.y <=> B.y
are evaluated as hash join on just x followed by filter on y. 
This causes a skew problem (very long join) when a particular value of x has a 
high cardinality even though (x, y) is evenly distributed

Can we implement is as a hash join on (X, Option(Y))? This will eliminate the 
skew in this case

Imagine a join:
 People as p1 join People as p2 on p1.name = p2.name and p1.address <=> 
p2.address

(very small percentage of people has unknown address)

This causes a skewed join on popular names such as "Mary Brown" if we hash on 
names alone, but will not cause a skew if we hash on (Name, Option(Address))




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to