You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2013/02/27 03:03:11 UTC

[jira] [Updated] (HIVE-4078) Remove the serialize-deserialize pair in CommonJoinResolver

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

Gopal V updated HIVE-4078:
--------------------------

    Attachment: HIVE-4078.patch

Over six runs of an explain query with 3 joins

|| pre-patch || post-patch ||
|7.795 seconds|   3.374 seconds|
|3.228 seconds|   0.432 seconds|
|3.031 seconds|   0.341 seconds|
|2.95 seconds|    0.31 seconds|
|2.909 seconds|   0.266 seconds|
|2.89 seconds|    0.237 seconds|
                
> Remove the serialize-deserialize pair in CommonJoinResolver
> -----------------------------------------------------------
>
>                 Key: HIVE-4078
>                 URL: https://issues.apache.org/jira/browse/HIVE-4078
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: Gopal V
>            Assignee: Gopal V
>         Attachments: HIVE-4078.patch
>
>
> CommonJoinProcessor tries to clone a MapredWork while attempting a conversion to a map-join
> {code}
>   // deep copy a new mapred work from xml
>   InputStream in = new ByteArrayInputStream(xml.getBytes("UTF-8"));
>   MapredWork newWork = Utilities.deserializeMapRedWork(in, physicalContext.getConf());
> {code}
> which is a very heavy operation memory wise & cpu-wise.
> Instead of cloning via XMLEncoder, it is faster to use BeanUtils.cloneBean() which is following same data paths (get/set bean methods) instead.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira