Return-Path: Delivered-To: apmail-hive-commits-archive@www.apache.org Received: (qmail 46334 invoked from network); 24 Jan 2011 05:43:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 24 Jan 2011 05:43:08 -0000 Received: (qmail 68019 invoked by uid 500); 24 Jan 2011 05:43:08 -0000 Delivered-To: apmail-hive-commits-archive@hive.apache.org Received: (qmail 67783 invoked by uid 500); 24 Jan 2011 05:43:06 -0000 Mailing-List: contact commits-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hive-dev@hive.apache.org Delivered-To: mailing list commits@hive.apache.org Received: (qmail 67768 invoked by uid 99); 24 Jan 2011 05:43:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Jan 2011 05:43:04 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 24 Jan 2011 05:43:02 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 79A2823889DE; Mon, 24 Jan 2011 05:42:41 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1062655 - in /hive/trunk: CHANGES.txt common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java Date: Mon, 24 Jan 2011 05:42:41 -0000 To: commits@hive.apache.org From: namit@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110124054241.79A2823889DE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: namit Date: Mon Jan 24 05:42:41 2011 New Revision: 1062655 URL: http://svn.apache.org/viewvc?rev=1062655&view=rev Log: HIVE-1923 Allow any type of stats publisher and aggregator in addition to HBase and JDBC (Ning Zhang via namit) Modified: hive/trunk/CHANGES.txt hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java Modified: hive/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hive/trunk/CHANGES.txt?rev=1062655&r1=1062654&r2=1062655&view=diff ============================================================================== --- hive/trunk/CHANGES.txt (original) +++ hive/trunk/CHANGES.txt Mon Jan 24 05:42:41 2011 @@ -149,6 +149,9 @@ Trunk - Unreleased HIVE-1862 Revive partition filtering in the Hive MetaStore (Mac Yang via pauly) + HIVE-1923 Allow any type of stats publisher and aggregator in addition to + HBase and JDBC (Ning Zhang via namit) + IMPROVEMENTS HIVE-1692. FetchOperator.getInputFormatFromCache hides causal exception (Philip Zeyliger via cws) Modified: hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java?rev=1062655&r1=1062654&r2=1062655&view=diff ============================================================================== --- hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (original) +++ hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java Mon Jan 24 05:42:41 2011 @@ -306,6 +306,11 @@ public class HiveConf extends Configurat "org.apache.derby.jdbc.EmbeddedDriver"), // JDBC driver specific to the dbclass HIVESTATSDBCONNECTIONSTRING("hive.stats.dbconnectionstring", "jdbc:derby:;databaseName=TempStatsStore;create=true"), // automatically create database + HIVE_STATS_DEFAULT_PUBLISHER("hive.stats.default.publisher", + ""), // default stats publisher if none of JDBC/HBase is specified + HIVE_STATS_DEFAULT_AGGREGATOR("hive.stats.default.aggregator", + ""), // default stats aggregator if none of JDBC/HBase is specified + // Concurrency HIVE_SUPPORT_CONCURRENCY("hive.support.concurrency", false), Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java?rev=1062655&r1=1062654&r2=1062655&view=diff ============================================================================== --- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java (original) +++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsFactory.java Mon Jan 24 05:42:41 2011 @@ -24,6 +24,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.common.JavaUtils; +import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.util.ReflectionUtils; /** @@ -72,8 +73,22 @@ public final class StatsFactory { return false; } } else { - // ERROR - return false; + // try default stats publisher/aggregator + String defPublisher = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_STATS_DEFAULT_PUBLISHER); + String defAggregator = HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_STATS_DEFAULT_AGGREGATOR); + // ERROR no default publisher/aggregator is defined + if (defPublisher == null || defAggregator == null) { + return false; + } + try{ + publisherImplementation = (Class) + Class.forName(defPublisher, true, classLoader); + aggregatorImplementation = (Class) + Class.forName(defAggregator, true, classLoader); + } catch (ClassNotFoundException e) { + LOG.error("JDBC Publisher/Aggregator classes cannot be loaded.", e); + return false; + } } jobConf = conf;