hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Harish Butani (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4963) Support in memory PTF partitions
Date Tue, 13 Aug 2013 19:10:48 GMT

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

Harish Butani commented on HIVE-4963:
-------------------------------------

[~ashutoshc] have attached a patch with PTFRowContainer that extends RowContainer.  PTFRowContainer
is different because need to provide random access to rows. PTFRowContainer would replace
classes in PTFPersistence: ByteBasedList, PartitionedByteBasedList... PTFRowContainer does
utilize a lot of the code from RowContainer; another advantage is that all data is in 1 SeqFile.
Can you please take a look to see this approach is acceptable. Will work on connecting PTFPartition
to PTFRowContainer.
                
> 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, 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