aboutsummaryrefslogtreecommitdiff
path: root/sql/hive
diff options
context:
space:
mode:
authorDavies Liu <davies@databricks.com>2016-02-10 20:13:38 -0800
committerDavies Liu <davies.liu@gmail.com>2016-02-10 20:13:38 -0800
commitb5761d150b66ee0ae5f1be897d9d7a1abb039884 (patch)
tree4d2f839c621b844f09d7e5045c23156cec3a12a6 /sql/hive
parent0f09f0226983cdc409ef504dff48395787dc844f (diff)
downloadspark-b5761d150b66ee0ae5f1be897d9d7a1abb039884.tar.gz
spark-b5761d150b66ee0ae5f1be897d9d7a1abb039884.tar.bz2
spark-b5761d150b66ee0ae5f1be897d9d7a1abb039884.zip
[SPARK-12706] [SQL] grouping() and grouping_id()
Grouping() returns a column is aggregated or not, grouping_id() returns the aggregation levels. grouping()/grouping_id() could be used with window function, but does not work in having/sort clause, will be fixed by another PR. The GROUPING__ID/grouping_id() in Hive is wrong (according to docs), we also did it wrongly, this PR change that to match the behavior in most databases (also the docs of Hive). Author: Davies Liu <davies@databricks.com> Closes #10677 from davies/grouping.
Diffstat (limited to 'sql/hive')
-rw-r--r--sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala8
-rw-r--r--sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for CUBE #1-0-63b61fb3f0e74226001ad279be44086412
-rw-r--r--sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #1-0-a78e3dbf242f240249e36b3d3fd0926a12
-rw-r--r--sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #2-0-bf180c9d1a18f61b9d9f31bb0115cf8920
-rw-r--r--sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #3-0-9257085d123728730be96b6d9fbb84ce20
5 files changed, 37 insertions, 35 deletions
diff --git a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
index 61b73fa557..9097c1a1d3 100644
--- a/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
+++ b/sql/hive/compatibility/src/test/scala/org/apache/spark/sql/hive/execution/HiveCompatibilitySuite.scala
@@ -328,6 +328,11 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
// Hive returns null rather than NaN when n = 1
"udaf_covar_samp",
+ // The implementation of GROUPING__ID in Hive is wrong (not match with doc).
+ "groupby_grouping_id1",
+ "groupby_grouping_id2",
+ "groupby_grouping_sets1",
+
// Spark parser treats numerical literals differently: it creates decimals instead of doubles.
"udf_abs",
"udf_format_number",
@@ -503,9 +508,6 @@ class HiveCompatibilitySuite extends HiveQueryFileTest with BeforeAndAfter {
"groupby11",
"groupby12",
"groupby1_limit",
- "groupby_grouping_id1",
- "groupby_grouping_id2",
- "groupby_grouping_sets1",
"groupby_grouping_sets2",
"groupby_grouping_sets3",
"groupby_grouping_sets4",
diff --git a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for CUBE #1-0-63b61fb3f0e74226001ad279be440864 b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for CUBE #1-0-63b61fb3f0e74226001ad279be440864
index dac1b84b91..c066aeead8 100644
--- a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for CUBE #1-0-63b61fb3f0e74226001ad279be440864
+++ b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for CUBE #1-0-63b61fb3f0e74226001ad279be440864
@@ -1,6 +1,6 @@
-500 NULL 0
-91 0 1
-84 1 1
-105 2 1
-113 3 1
-107 4 1
+500 NULL 1
+91 0 0
+84 1 0
+105 2 0
+113 3 0
+107 4 0
diff --git a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #1-0-a78e3dbf242f240249e36b3d3fd0926a b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #1-0-a78e3dbf242f240249e36b3d3fd0926a
index dac1b84b91..c066aeead8 100644
--- a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #1-0-a78e3dbf242f240249e36b3d3fd0926a
+++ b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #1-0-a78e3dbf242f240249e36b3d3fd0926a
@@ -1,6 +1,6 @@
-500 NULL 0
-91 0 1
-84 1 1
-105 2 1
-113 3 1
-107 4 1
+500 NULL 1
+91 0 0
+84 1 0
+105 2 0
+113 3 0
+107 4 0
diff --git a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #2-0-bf180c9d1a18f61b9d9f31bb0115cf89 b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #2-0-bf180c9d1a18f61b9d9f31bb0115cf89
index 1eea4a9b23..fcacbe3f69 100644
--- a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #2-0-bf180c9d1a18f61b9d9f31bb0115cf89
+++ b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #2-0-bf180c9d1a18f61b9d9f31bb0115cf89
@@ -1,10 +1,10 @@
-1 0 5 3
-1 0 15 3
-1 0 25 3
-1 0 60 3
-1 0 75 3
-1 0 80 3
-1 0 100 3
-1 0 140 3
-1 0 145 3
-1 0 150 3
+1 0 5 0
+1 0 15 0
+1 0 25 0
+1 0 60 0
+1 0 75 0
+1 0 80 0
+1 0 100 0
+1 0 140 0
+1 0 145 0
+1 0 150 0
diff --git a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #3-0-9257085d123728730be96b6d9fbb84ce b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #3-0-9257085d123728730be96b6d9fbb84ce
index 1eea4a9b23..fcacbe3f69 100644
--- a/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #3-0-9257085d123728730be96b6d9fbb84ce
+++ b/sql/hive/src/test/resources/golden/SPARK-8976 Wrong Result for Rollup #3-0-9257085d123728730be96b6d9fbb84ce
@@ -1,10 +1,10 @@
-1 0 5 3
-1 0 15 3
-1 0 25 3
-1 0 60 3
-1 0 75 3
-1 0 80 3
-1 0 100 3
-1 0 140 3
-1 0 145 3
-1 0 150 3
+1 0 5 0
+1 0 15 0
+1 0 25 0
+1 0 60 0
+1 0 75 0
+1 0 80 0
+1 0 100 0
+1 0 140 0
+1 0 145 0
+1 0 150 0