You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Takeshi Yamamuro (Jira)" <ji...@apache.org> on 2019/11/01 05:10:00 UTC
[jira] [Updated] (SPARK-29700) Support nested grouping sets
[ https://issues.apache.org/jira/browse/SPARK-29700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Takeshi Yamamuro updated SPARK-29700:
-------------------------------------
Description:
PgSQL can process nested grouping sets, but Spark cannot;
{code:java}
postgres=# create table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer);
postgres=# insert into gstest2 values
postgres-# (1, 1, 1, 1, 1, 1, 1, 1),
postgres-# (1, 1, 1, 1, 1, 1, 1, 2),
postgres-# (1, 1, 1, 1, 1, 1, 2, 2),
postgres-# (1, 1, 1, 1, 1, 2, 2, 2),
postgres-# (1, 1, 1, 1, 2, 2, 2, 2),
postgres-# (1, 1, 1, 2, 2, 2, 2, 2),
postgres-# (1, 1, 2, 2, 2, 2, 2, 2),
postgres-# (1, 2, 2, 2, 2, 2, 2, 2),
postgres-# (2, 2, 2, 2, 2, 2, 2, 2);
INSERT 0 9
postgres=# select sum(c) from gstest2
postgres-# group by grouping sets(grouping sets((a, b)))
postgres-# order by 1 desc;
sum
-----
16
4
4
(3 rows)
{code}
{code:java}
scala> sql("""
| select sum(c) from gstest2
| group by grouping sets(grouping sets((a, b)))
| order by 1 desc
| """).show
org.apache.spark.sql.catalyst.parser.ParseException:
mismatched input 'sets' expecting {')', ','}(line 3, pos 34)
== SQL ==
select sum(c) from gstest2
group by grouping sets(grouping sets((a, b)))
----------------------------------^^^
order by 1 desc
at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135)
at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85)
at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605)
at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111)
at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605)
... 51 elided
{code}
was:
PgSQL can process nested grouping sets, but Spark cannot;
{code:java}
postgres=# create table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer);
ERROR: relation "gstest2" already exists
postgres=# insert into gstest2 values
postgres-# (1, 1, 1, 1, 1, 1, 1, 1),
postgres-# (1, 1, 1, 1, 1, 1, 1, 2),
postgres-# (1, 1, 1, 1, 1, 1, 2, 2),
postgres-# (1, 1, 1, 1, 1, 2, 2, 2),
postgres-# (1, 1, 1, 1, 2, 2, 2, 2),
postgres-# (1, 1, 1, 2, 2, 2, 2, 2),
postgres-# (1, 1, 2, 2, 2, 2, 2, 2),
postgres-# (1, 2, 2, 2, 2, 2, 2, 2),
postgres-# (2, 2, 2, 2, 2, 2, 2, 2);
INSERT 0 9
postgres=# select sum(c) from gstest2
postgres-# group by grouping sets(grouping sets((a, b)))
postgres-# order by 1 desc;
sum
-----
16
4
4
(3 rows)
{code}
{code:java}
scala> sql("""
| select sum(c) from gstest2
| group by grouping sets(grouping sets((a, b)))
| order by 1 desc
| """).show
org.apache.spark.sql.catalyst.parser.ParseException:
mismatched input 'sets' expecting {')', ','}(line 3, pos 34)
== SQL ==
select sum(c) from gstest2
group by grouping sets(grouping sets((a, b)))
----------------------------------^^^
order by 1 desc
at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135)
at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85)
at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605)
at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111)
at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605)
... 51 elided
{code}
> Support nested grouping sets
> ----------------------------
>
> Key: SPARK-29700
> URL: https://issues.apache.org/jira/browse/SPARK-29700
> Project: Spark
> Issue Type: Sub-task
> Components: SQL
> Affects Versions: 3.0.0
> Reporter: Takeshi Yamamuro
> Priority: Major
>
> PgSQL can process nested grouping sets, but Spark cannot;
> {code:java}
> postgres=# create table gstest2 (a integer, b integer, c integer, d integer, e integer, f integer, g integer, h integer);
> postgres=# insert into gstest2 values
> postgres-# (1, 1, 1, 1, 1, 1, 1, 1),
> postgres-# (1, 1, 1, 1, 1, 1, 1, 2),
> postgres-# (1, 1, 1, 1, 1, 1, 2, 2),
> postgres-# (1, 1, 1, 1, 1, 2, 2, 2),
> postgres-# (1, 1, 1, 1, 2, 2, 2, 2),
> postgres-# (1, 1, 1, 2, 2, 2, 2, 2),
> postgres-# (1, 1, 2, 2, 2, 2, 2, 2),
> postgres-# (1, 2, 2, 2, 2, 2, 2, 2),
> postgres-# (2, 2, 2, 2, 2, 2, 2, 2);
> INSERT 0 9
> postgres=# select sum(c) from gstest2
> postgres-# group by grouping sets(grouping sets((a, b)))
> postgres-# order by 1 desc;
> sum
> -----
> 16
> 4
> 4
> (3 rows)
> {code}
> {code:java}
> scala> sql("""
> | select sum(c) from gstest2
> | group by grouping sets(grouping sets((a, b)))
> | order by 1 desc
> | """).show
> org.apache.spark.sql.catalyst.parser.ParseException:
> mismatched input 'sets' expecting {')', ','}(line 3, pos 34)
> == SQL ==
> select sum(c) from gstest2
> group by grouping sets(grouping sets((a, b)))
> ----------------------------------^^^
> order by 1 desc
> at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:268)
> at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:135)
> at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:48)
> at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parsePlan(ParseDriver.scala:85)
> at org.apache.spark.sql.SparkSession.$anonfun$sql$1(SparkSession.scala:605)
> at org.apache.spark.sql.catalyst.QueryPlanningTracker.measurePhase(QueryPlanningTracker.scala:111)
> at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:605)
> ... 51 elided
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org