You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Xuefu Zhang (JIRA)" <ji...@apache.org> on 2017/02/08 00:43:41 UTC

[jira] [Commented] (HIVE-15683) Measure performance impact on group by by HIVE-15580

    [ https://issues.apache.org/jira/browse/HIVE-15683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15857123#comment-15857123 ] 

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.
{code}
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
{code}

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: https://issues.apache.org/jira/browse/HIVE-15683
>             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
(v6.3.15#6346)