hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward Capriolo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4963) Support in memory PTF partitions
Date Wed, 21 Aug 2013 16:28:52 GMT

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

Edward Capriolo commented on HIVE-4963:
---------------------------------------

{quote}
ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java:89 This I think you need to do
because current RowContainers can only hold crisp java objects. Seems like we can improve
this by writing RowContainer which can hold writables, thus avoiding unnecessary deserialization
and mem-cpy here. Something worth exploring as follow-up issue.
{quote}
Is it much more work to do this now? There are already a number of PTF -to-be-cleaned-ups
and I would hate to add more.
                
> Support in memory PTF partitions
> --------------------------------
>
>                 Key: HIVE-4963
>                 URL: https://issues.apache.org/jira/browse/HIVE-4963
>             Project: Hive
>          Issue Type: Bug
>          Components: PTF-Windowing
>            Reporter: Harish Butani
>         Attachments: HIVE-4963.D11955.1.patch, HIVE-4963.D12279.1.patch, HIVE-4963.D12279.2.patch,
PTFRowContainer.patch
>
>
> PTF partitions apply the defensive mode of assuming that partitions will not fit in memory.
Because of this there is a significant deserialization overhead when accessing elements. 
> Allow the user to specify that there is enough memory to hold partitions through a 'hive.ptf.partition.fits.in.mem'
option.  
> Savings depends on partition size and in case of windowing the number of UDAFs and the
window ranges. For eg for the following (admittedly extreme) case the PTFOperator exec times
went from 39 secs to 8 secs.
>  
> {noformat}
> select t, s, i, b, f, d,
> min(t) over(partition by 1 rows between unbounded preceding and current row), 
> min(s) over(partition by 1 rows between unbounded preceding and current row), 
> min(i) over(partition by 1 rows between unbounded preceding and current row), 
> min(b) over(partition by 1 rows between unbounded preceding and current row) 
> from over10k
> {noformat}

--
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

Mime
View raw message