hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashutosh Chauhan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-4963) Support in memory PTF partitions
Date Fri, 09 Aug 2013 05:10:47 GMT

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

Ashutosh Chauhan commented on HIVE-4963:
----------------------------------------

I have a question: While rows are accumulating we serialize and store them in PersistenceByteList
(PBL), once they cross limit (32MB) we spill the list to disk. Now by adding this new config,
we assume since accumulated data will fit into memory, we don't need PBL and create new type
of PTFPartition. So, what we are saving is this serialization and deserialization out of this
list. Is that correct? If so, I think better way might be to not write first 32MBs in PBL
and just keep them in memory, once they cross the limit at that time serialize them and dump
to disk.
I dont like this new config knob, since user has no way of knowing when to turn the flag on,
it depends both on query as well as data. If we can get rid of this knob and do this smartly
that will be real cool.
                
> 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
>
>
> 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