hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xuefu Zhang (JIRA)" <>
Subject [jira] [Commented] (HIVE-15683) Measure performance impact on group by by HIVE-15580
Date Wed, 08 Feb 2017 00:43:41 GMT


Xuefu Zhang commented on HIVE-15683:

The following measurement comes up with static allocation with out prod cluster for a query
designed to measure group by performance. It offers a comparison between performance w/ and
w/o HIVE-15580.
Query: select count(*) from (select driver_uuid, avg(base_fare_usd) from dwh.fact_trip where
datestr > '2017-01-01' group by driver_uuid) x;
Origin: 55.1, 42.1, 39.6, 39.1, 39.1, 33.06, 61.6 AVG: 44.24
Patch: 59.1, 65.2, 58.3, 35.1, 45.1, 39.4, 47.3   AVG: 49.93 => 1.13X slower

The performance degradation seems noticeable however insignificant. For this, we plan to add
a configuration to allow user to switch the two implementations.

However, our cluster is notoriously for large performance variations. Thus, it's great if
others can also conduct some test to confirm. FYI,  [~Ferd]/[~dapengsun].

> Measure performance impact on group by by HIVE-15580
> ----------------------------------------------------
>                 Key: HIVE-15683
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>          Components: Spark
>    Affects Versions: 2.2.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
> HIVE-15580 changed the way the data is shuffled for order 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. 

This message was sent by Atlassian JIRA

View raw message