[
https://issues.apache.org/jira/browse/SPARK-17959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Owen updated SPARK-17959:
------------------------------
Issue Type: Improvement (was: Bug)
Not sure, it's not my area. It may not be a bug though, but at best an
improvement, because it seems like it's either on purpose or else just not
aware that a different join is more optimal because of the default here.
> spark.sql.join.preferSortMergeJoin has no effect for simple join due to
> calculated size of LogicalRdd
> -----------------------------------------------------------------------------------------------------
>
> Key: SPARK-17959
> URL: https://issues.apache.org/jira/browse/SPARK-17959
> Project: Spark
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 2.0.1
> Reporter: Stavros Kontopoulos
>
> Example code:
> val df = spark.sparkContext.parallelize(List(("A", 10, "dss@s1"), ("A", 20,
> "dss@s2"),
> ("B", 1, "dss@qqa"), ("B", 2, "dss@qqb"))).toDF("Group", "Amount",
> "Email")
> df.as("a").join(df.as("b"))
> .where($"a.Group" === $"b.Group")
> .explain()
> I always get the SortMerge strategy (never shuffle hash join) even if i set
> spark.sql.join.preferSortMergeJoin to false since:
> sinzeInBytes = 2^63-1
> https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/ExistingRDD.scala#L101
> and thus:
> condition here:
> https://github.com/apache/spark/blob/master/sql/core/src/main/scala/org/apache/spark/sql/execution/SparkStrategies.scala#L127
> is always false...
> I think this shouldnt be the case my df has a specifc size and number of
> partitions (200 which is btw far from optimal)...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]