You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "sanjiv singh (JIRA)" <ji...@apache.org> on 2015/04/12 08:19:12 UTC
[jira] [Created] (HIVE-10310) Support GROUPING() in HIVE
sanjiv singh created HIVE-10310:
-----------------------------------
Summary: Support GROUPING() in HIVE
Key: HIVE-10310
URL: https://issues.apache.org/jira/browse/HIVE-10310
Project: Hive
Issue Type: Wish
Components: Parser, SQL
Reporter: sanjiv singh
Priority: Minor
I have lots of queries using GROUPING() function. failing on hive , just because GROUPING() not supported in hive. See the Query below;
SELECT fact_1_id,
fact_2_id,
GROUPING(fact_1_id) AS f1g,
GROUPING(fact_2_id) AS f2g
FROM dimension_tab
GROUP BY CUBE (fact_1_id, fact_2_id)
ORDER BY fact_1_id, fact_2_id;
In order to run in HIVE all such queries, It need to be transformed to HIVE syntax. See below transformed query, compatible to hive. Equivalent have been verived using Case statement .
SELECT fact_1_id,
fact_2_id,
(case when (GROUPING__ID & 1) = 0 then 1 else 0 end) as f1g,
(case when (GROUPING__ID & 2) = 0 then 1 else 0 end) as f2g
FROM dimension_tab
GROUP BY fact_1_id, fact_2_id WITH CUBE
ORDER BY fact_1_id, fact_2_id;
It would be great if GROUPING() implemented in hive. I see two ways to do it
1) Handle it parser level.
2) GROUPING() aggregate function to hive(recommended)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)