[
https://issues.apache.org/jira/browse/HIVE-17617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zoltan Haindrich updated HIVE-17617:
------------------------------------
Attachment: HIVE-17617.04.patch
#4) I was able to avoid modifing all the groupbydesc constructors ; and found a
way the reducers to emit the empty row....and it works ok in case of
TestCliDriver; however llap employs more than 1 groupy reducers (4) in
parallel...and because of that there are 4 result rows...because all of them
ended up with empty input.
[~jcamachorodriguez] I was looking into how to get the index of the reducer the
code is in...but if I was able to get that - that still leaves a open the
question: the empty row emittion condition must only be true for the reducer
which is handling the empty groupping sets... feel free to take it over if you
know how to fix it.
> Rollup of an empty resultset should contain the grouping of the empty
> grouping set
> ----------------------------------------------------------------------------------
>
> Key: HIVE-17617
> URL: https://issues.apache.org/jira/browse/HIVE-17617
> Project: Hive
> Issue Type: Sub-task
> Components: SQL
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Attachments: HIVE-17617.01.patch, HIVE-17617.03.patch,
> HIVE-17617.04.patch
>
>
> running
> {code}
> drop table if exists tx1;
> create table tx1 (a integer,b integer,c integer);
> select sum(c),
> grouping(b)
> from tx1
> group by rollup (b);
> {code}
> returns 0 rows; however
> according to the standard:
> The <empty grouping set> is regarded as the shortest such initial sublist.
> For example, “ROLLUP ( (A, B), (C, D) )”
> is equivalent to “GROUPING SETS ( (A, B, C, D), (A, B), () )”.
> so I think the totals row (the grouping for {{()}} should be present) - psql
> returns it.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)