hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Chu <>
Subject RE: Hive Group By Limitations
Date Mon, 06 May 2013 18:27:13 GMT
Thanks Nitin and Michael,
The reason I asked is because I cannot help but wonder if it takes extra time with all those
group by columns.  
Say for example, I have a employees table with 10 columns pertaining to employees but there
could be duplicates, I need to de dup it by performing a group by employee id, and hire date,
but were I want to select the other fields as well, I would have to add those fields in the
group by clause, or join it back in another table
When the table is big, I cannot help but wonder if it hurts the performance.

Date: Mon, 6 May 2013 23:42:23 +0530
Subject: Re: Hive Group By Limitations

hi Peter,
In hive if you are running a group by, then all the select columns have to be in the group
by clause. This limitation is for the column definition only and not for the column operations
like count etc

All the columns for group by do go to a single map reduce job and it does not launch multiple
mapreduce jobs for each group by. 
I am not sure what do you mean by better way? 

On Mon, May 6, 2013 at 11:37 PM, Peter Chu <> wrote:

In Hive, I cannot perform a SELECT GROUP BY on fields not in the GROUP BY clause.
Example: SELECT st.a, st.b, st.c, st.d, FROM some_table st GROUP BY st.a;  -- This does not

To make it work, I would need to add the other fields in the group by clause.
Not quite sure but I think each group by will give another M/R job.
Wondering if there is any other way / better way to do group by.


Nitin Pawar

View raw message