diff options
author | tedyu <yuzhihong@gmail.com> | 2015-11-02 13:51:53 -0800 |
---|---|---|
committer | Yin Huai <yhuai@databricks.com> | 2015-11-02 13:51:53 -0800 |
commit | db11ee5e56e5fac59895c772a9a87c5ac86888ef (patch) | |
tree | 66994bfbff8688a17c06d2968795ba5c926d494b /sql | |
parent | 33ae7a35daa86c34f1f9f72f997e0c2d4cd8abec (diff) | |
download | spark-db11ee5e56e5fac59895c772a9a87c5ac86888ef.tar.gz spark-db11ee5e56e5fac59895c772a9a87c5ac86888ef.tar.bz2 spark-db11ee5e56e5fac59895c772a9a87c5ac86888ef.zip |
[SPARK-11371] Make "mean" an alias for "avg" operator
From Reynold in the thread 'Exception when using some aggregate operators' (http://search-hadoop.com/m/q3RTt0xFr22nXB4/):
I don't think these are bugs. The SQL standard for average is "avg", not "mean". Similarly, a distinct count is supposed to be written as "count(distinct col)", not "countDistinct(col)".
We can, however, make "mean" an alias for "avg" to improve compatibility between DataFrame and SQL.
Author: tedyu <yuzhihong@gmail.com>
Closes #9332 from ted-yu/master.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala | 1 | ||||
-rw-r--r-- | sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/AggregationQuerySuite.scala | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala index 5f3ec74ac0..24c1a7b7ac 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/FunctionRegistry.scala @@ -185,6 +185,7 @@ object FunctionRegistry { expression[Last]("last"), expression[Last]("last_value"), expression[Max]("max"), + expression[Average]("mean"), expression[Min]("min"), expression[Stddev]("stddev"), expression[StddevPop]("stddev_pop"), diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/AggregationQuerySuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/AggregationQuerySuite.scala index 0cf0e0aab9..74061db0f2 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/AggregationQuerySuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/AggregationQuerySuite.scala @@ -301,6 +301,15 @@ abstract class AggregationQuerySuite extends QueryTest with SQLTestUtils with Te checkAnswer( sqlContext.sql( """ + |SELECT key, mean(value) + |FROM agg1 + |GROUP BY key + """.stripMargin), + Row(1, 20.0) :: Row(2, -0.5) :: Row(3, null) :: Row(null, 10.0) :: Nil) + + checkAnswer( + sqlContext.sql( + """ |SELECT avg(value), key |FROM agg1 |GROUP BY key |