aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorDavies Liu <davies@databricks.com>2015-12-01 20:17:12 -0800
committerYin Huai <yhuai@databricks.com>2015-12-01 20:17:12 -0800
commit96691feae0229fd693c29475620be2c4059dd080 (patch)
tree104cb6b37a7c9bc3ad16a19812e833d12e95ef41 /sql
parentd96f8c997b9bb5c3d61f513d2c71d67ccf8e85d6 (diff)
downloadspark-96691feae0229fd693c29475620be2c4059dd080.tar.gz
spark-96691feae0229fd693c29475620be2c4059dd080.tar.bz2
spark-96691feae0229fd693c29475620be2c4059dd080.zip
[SPARK-12077][SQL] change the default plan for single distinct
Use try to match the behavior for single distinct aggregation with Spark 1.5, but that's not scalable, we should be robust by default, have a flag to address performance regression for low cardinality aggregation. cc yhuai nongli Author: Davies Liu <davies@databricks.com> Closes #10075 from davies/agg_15.
Diffstat (limited to 'sql')
-rw-r--r--sql/core/src/main/scala/org/apache/spark/sql/SQLConf.scala2
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/execution/PlannerSuite.scala4
2 files changed, 3 insertions, 3 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/SQLConf.scala b/sql/core/src/main/scala/org/apache/spark/sql/SQLConf.scala
index 5ef3a48c56..58adf64e49 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/SQLConf.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/SQLConf.scala
@@ -451,7 +451,7 @@ private[spark] object SQLConf {
val SPECIALIZE_SINGLE_DISTINCT_AGG_PLANNING =
booleanConf("spark.sql.specializeSingleDistinctAggPlanning",
- defaultValue = Some(true),
+ defaultValue = Some(false),
isPublic = false,
doc = "When true, if a query only has a single distinct column and it has " +
"grouping expressions, we will use our planner rule to handle this distinct " +
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/execution/PlannerSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/execution/PlannerSuite.scala
index dfec139985..a4626259b2 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/execution/PlannerSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/execution/PlannerSuite.scala
@@ -44,10 +44,10 @@ class PlannerSuite extends SharedSQLContext {
fail(s"Could query play aggregation query $query. Is it an aggregation query?"))
val aggregations = planned.collect { case n if n.nodeName contains "Aggregate" => n }
- // For the new aggregation code path, there will be three aggregate operator for
+ // For the new aggregation code path, there will be four aggregate operator for
// distinct aggregations.
assert(
- aggregations.size == 2 || aggregations.size == 3,
+ aggregations.size == 2 || aggregations.size == 4,
s"The plan of query $query does not have partial aggregations.")
}