You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Edward Capriolo <ed...@gmail.com> on 2013/08/23 02:13:54 UTC

Re: [jira] [Created] (HIVE-4963) Support in memory PTF partitions

That while true part to create a temp file looks scary maybe try n times
instead.

On Thursday, August 22, 2013, Phabricator (JIRA) <ji...@apache.org> wrote:
>
>      [
https://issues.apache.org/jira/browse/HIVE-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Phabricator updated HIVE-4963:
> ------------------------------
>
>     Attachment: HIVE-4963.D12279.3.patch
>
> hbutani updated the revision "HIVE-4963 [jira] Support in memory PTF
partitions".
>
>     - Merge branch 'trunk' into HIVE-4963-2
>     - changes based on review.
>     - fix lint issues
>
> Reviewers: JIRA, ashutoshc
>
> REVISION DETAIL
>   https://reviews.facebook.net/D12279
>
> CHANGE SINCE LAST DIFF
>   https://reviews.facebook.net/D12279?vs=38391&id=38745#toc
>
> AFFECTED FILES
>   ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java
>   ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java
>   ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPersistence.java
>
ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/PTFRowContainer.java
>   ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/RowContainer.java
>   ql/src/java/org/apache/hadoop/hive/ql/parse/PTFTranslator.java
>   ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDesc.java
>   ql/src/java/org/apache/hadoop/hive/ql/plan/PTFDeserializer.java
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLeadLag.java
>   ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/NPath.java
>
ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java
>   ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionResolver.java
>
ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java
>
ql/src/test/org/apache/hadoop/hive/ql/exec/persistence/TestPTFRowContainer.java
>   ql/src/test/queries/clientpositive/windowing_adjust_rowcontainer_sz.q
>
ql/src/test/results/clientpositive/windowing_adjust_rowcontainer_sz.q.out
>
> To: JIRA, ashutoshc, hbutani
>
>
>> Support in memory PTF partitions
>> --------------------------------
>>
>>                 Key: HIVE-4963
>>                 URL: https://issues.apache.org/jira/browse/HIVE-4963
>>             Project: Hive
>>          Issue Type: New Feature
>>          Components: PTF-Windowing
>>            Reporter: Harish Butani
>>            Assignee: Harish Butani
>>         Attachments: HIVE-4963.D11955.1.patch, HIVE-4963.D12279.1.patch,
HIVE-4963.D12279.2.patch, HIVE-4963.D12279.3.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
>