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

Sergey Shelukhin commented on HIVE-6430:
----------------------------------------

Tested the patch on real queries. I do see huge memory reduction (modified 
TPCDS query 72, worst map task goes from 7Gb to ~1.2Gb dump after populating 
hash tables, I'll need to download the dumps to analyze but it's pretty clear 
cut); and GC time counter goes down from ~1min total to few seconds, as 
expected, but I also see huge wall clock time increase (without corresponding 
CPU time increase it looks like) during processing. I would expect some 
tradeoff but not as much as I'm seeing... will profile more.

> MapJoin hash table has large memory overhead
> --------------------------------------------
>
>                 Key: HIVE-6430
>                 URL: https://issues.apache.org/jira/browse/HIVE-6430
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-6430.01.patch, HIVE-6430.02.patch, 
> HIVE-6430.03.patch, HIVE-6430.04.patch, HIVE-6430.05.patch, 
> HIVE-6430.06.patch, HIVE-6430.patch
>
>
> Right now, in some queries, I see that storing e.g. 4 ints (2 for key and 2 
> for row) can take several hundred bytes, which is ridiculous. I am reducing 
> the size of MJKey and MJRowContainer in other jiras, but in general we don't 
> need to have java hash table there.  We can either use primitive-friendly 
> hashtable like the one from HPPC (Apache-licenced), or some variation, to map 
> primitive keys to single row storage structure without an object per row 
> (similar to vectorization).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to