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