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