[ 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