Return-Path: X-Original-To: apmail-hive-dev-archive@www.apache.org Delivered-To: apmail-hive-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5224D10FA3 for ; Thu, 15 Aug 2013 03:39:54 +0000 (UTC) Received: (qmail 12319 invoked by uid 500); 15 Aug 2013 03:39:53 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 12278 invoked by uid 500); 15 Aug 2013 03:39:50 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 12098 invoked by uid 500); 15 Aug 2013 03:39:48 -0000 Delivered-To: apmail-hadoop-hive-dev@hadoop.apache.org Received: (qmail 12086 invoked by uid 99); 15 Aug 2013 03:39:48 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Aug 2013 03:39:48 +0000 Date: Thu, 15 Aug 2013 03:39:48 +0000 (UTC) From: "Phabricator (JIRA)" To: hive-dev@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HIVE-4963) Support in memory PTF partitions MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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.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 EMPTY REVISION DETAIL https://reviews.facebook.net/D12279 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/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 MANAGE HERALD RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/29349/ 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, HIVE-4963.D12279.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