HIVE-15580 changed the way the data is shuffled for group by: instead of using Spark's groupByKey to shuffle data, Hive on Spark now uses repartitionAndSortWithinPartitions(), which generates (key, value) pairs instead of original (key, value iterator). This might have some performance implications, but it's needed to get rid of unbound memory usage by groupByKey.
Here we'd like to compare group by performance with or w/o
HIVE-15580. If the impact is significant, we can provide a configuration that allows user to switch back to the original way of shuffling.
This work should be ideally done after
HIVE-15682 as the optimization there should help the performance here as well.