You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2011/09/21 08:51:31 UTC
svn commit: r1173513 - in /hive/trunk: conf/
ql/src/java/org/apache/hadoop/hive/ql/index/
ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/
Author: jvs
Date: Wed Sep 21 06:51:31 2011
New Revision: 1173513
URL: http://svn.apache.org/viewvc?rev=1173513&view=rev
Log:
HIVE-2458. Group-by query optimization Followup: add flag in
conf/hive-default.xml
(Prajakta Kalmegh via jvs)
Modified:
hive/trunk/conf/hive-default.xml
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/index/AggregateIndexHandler.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteCanApplyProcFactory.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java
Modified: hive/trunk/conf/hive-default.xml
URL: http://svn.apache.org/viewvc/hive/trunk/conf/hive-default.xml?rev=1173513&r1=1173512&r2=1173513&view=diff
==============================================================================
--- hive/trunk/conf/hive-default.xml (original)
+++ hive/trunk/conf/hive-default.xml Wed Sep 21 06:51:31 2011
@@ -355,6 +355,12 @@
</property>
<property>
+ <name>hive.optimize.index.groupby</name>
+ <value>false</value>
+ <description>Whether to enable optimization of group-by queries using Aggregate indexes.</description>
+</property>
+
+<property>
<name>hive.optimize.ppd</name>
<value>true</value>
<description>Whether to enable predicate pushdown</description>
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/index/AggregateIndexHandler.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/index/AggregateIndexHandler.java?rev=1173513&r1=1173512&r2=1173513&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/index/AggregateIndexHandler.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/index/AggregateIndexHandler.java Wed Sep 21 06:51:31 2011
@@ -81,10 +81,10 @@ public class AggregateIndexHandler exten
String funcName = aggFuncCol[0];
String colName = aggFuncCol[1].substring(0, aggFuncCol[1].length() - 1);
if(colName.contains("*")){
- colName = colName.replace("*", "ALL");
+ colName = colName.replace("*", "all");
}
FieldSchema aggregationFunction =
- new FieldSchema("_" + funcName + "_Of_" + colName + "", "bigint", "");
+ new FieldSchema("_" + funcName + "_of_" + colName + "", "bigint", "");
indexTblCols.add(aggregationFunction);
}
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteCanApplyProcFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteCanApplyProcFactory.java?rev=1173513&r1=1173512&r2=1173513&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteCanApplyProcFactory.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteCanApplyProcFactory.java Wed Sep 21 06:51:31 2011
@@ -127,7 +127,7 @@ public final class RewriteCanApplyProcFa
}else if(para.size() == 0){
//count(*) case
canApplyCtx.setCountOnAllCols(true);
- canApplyCtx.setAggFunction("_count_Of_ALL");
+ canApplyCtx.setAggFunction("_count_of_all");
}else{
assert para.size()==1;
for(int i=0; i< para.size(); i++){
@@ -144,12 +144,12 @@ public final class RewriteCanApplyProcFa
//if columns contained in agg func are index key columns
canApplyCtx.getAggFuncColList().add(
((ExprNodeColumnDesc) expr).getColumn());
- canApplyCtx.setAggFunction("_count_Of_" +
+ canApplyCtx.setAggFunction("_count_of_" +
((ExprNodeColumnDesc) expr).getColumn() + "");
}else if(expr instanceof ExprNodeConstantDesc){
//count(1) case
canApplyCtx.setCountOfOne(true);
- canApplyCtx.setAggFunction("_count_Of_1");
+ canApplyCtx.setAggFunction("_count_of_1");
}
}
}
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java?rev=1173513&r1=1173512&r2=1173513&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteGBUsingIndex.java Wed Sep 21 06:51:31 2011
@@ -63,7 +63,7 @@ import org.apache.hadoop.hive.ql.parse.S
* </code>
* to
* <code>
- * select sum(_count_Of_key)
+ * select sum(_count_of_key)
* from idx_table
* group by key;
* </code>
@@ -250,7 +250,7 @@ public class RewriteGBUsingIndex impleme
String aggregationFunction = indexTableMap.get(index).toString();
aggregationFunction = aggregationFunction.substring(1,
aggregationFunction.length() - 1);
- canApplyCtx.setAggFunction("_count_Of_" + aggregationFunction + "");
+ canApplyCtx.setAggFunction("_count_of_" + aggregationFunction + "");
}
}
break;
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java?rev=1173513&r1=1173512&r2=1173513&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/index/RewriteQueryUsingAggregateIndex.java Wed Sep 21 06:51:31 2011
@@ -84,7 +84,7 @@ public final class RewriteQueryUsingAggr
//we need to set the colList, outputColumnNames, colExprMap,
// rowSchema for only that SelectOperator which precedes the GroupByOperator
- // count(indexed_key_column) needs to be replaced by sum(`_count_Of_indexed_key_column`)
+ // count(indexed_key_column) needs to be replaced by sum(`_count_of_indexed_key_column`)
if (childOp instanceof GroupByOperator){
List<ExprNodeDesc> selColList =
operator.getConf().getColList();
@@ -97,7 +97,7 @@ public final class RewriteQueryUsingAggr
RowSchema selRS = operator.getSchema();
List<ColumnInfo> selRSSignature =
selRS.getSignature();
- //Need to create a new type for Column[_count_Of_indexed_key_column] node
+ //Need to create a new type for Column[_count_of_indexed_key_column] node
PrimitiveTypeInfo pti = (PrimitiveTypeInfo) TypeInfoFactory.getPrimitiveTypeInfo("bigint");
pti.setTypeName("bigint");
ColumnInfo newCI = new ColumnInfo(rewriteQueryCtx.getAggregateFunction(), pti, "", false);