You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2014/02/18 06:12:19 UTC

[jira] [Updated] (HIVE-6429) MapJoinKey has large memory overhead in typical cases

     [ https://issues.apache.org/jira/browse/HIVE-6429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Shelukhin updated HIVE-6429:
-----------------------------------

    Attachment: HIVE-6429.WIP.patch

WIP patch. Some tests appear to pass, but it cannot deal with lazy primitive serdes as I have just discovered. I will address this tomorrow.
Safety config to disable this (enabled by default) is probably needed [~hagleitn] [~jnp] fyi

> MapJoinKey has large memory overhead in typical cases
> -----------------------------------------------------
>
>                 Key: HIVE-6429
>                 URL: https://issues.apache.org/jira/browse/HIVE-6429
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>         Attachments: HIVE-6429.WIP.patch
>
>
> The only thing that MJK really needs it hashCode and equals (well, and construction), so there's no need to have array of writables in there. Assuming all the keys for a table have the same structure, for the common case where keys are primitive types, we can store something like a byte array combination of keys to reduce the memory usage. Will probably speed up compares too.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)