You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Phabricator (JIRA)" <ji...@apache.org> on 2013/08/03 04:15:49 UTC

[jira] [Updated] (HIVE-4963) Support in memory PTF partitions

     [ https://issues.apache.org/jira/browse/HIVE-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phabricator updated HIVE-4963:
------------------------------

    Attachment: HIVE-4963.D11955.1.patch

hbutani requested code review of "HIVE-4963 [jira] Support in memory PTF partitions".

Reviewers: JIRA, ashutoshc

fix lint issues

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.

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

TEST PLAN
  add a new test with option set to true

REVISION DETAIL
  https://reviews.facebook.net/D11955

AFFECTED FILES
  common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
  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/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/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/queries/clientpositive/windowing_inmempart.q
  ql/src/test/results/clientpositive/windowing_inmempart.q.out

MANAGE HERALD RULES
  https://reviews.facebook.net/herald/view/differential/

WHY DID I GET THIS EMAIL?
  https://reviews.facebook.net/herald/transcript/28581/

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