You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2013/04/11 19:46:48 UTC
svn commit: r1467000 - in /hive/trunk:
common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
conf/hive-default.xml.template
ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
Author: namit
Date: Thu Apr 11 17:46:47 2013
New Revision: 1467000
URL: http://svn.apache.org/r1467000
Log:
HIVE-4328 Change default bigtable selection policy for sort-merge joins
(Namit Jain via Ashutosh Chauhan)
Modified:
hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
hive/trunk/conf/hive-default.xml.template
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
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=1467000&r1=1466999&r2=1467000&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 Thu Apr 11 17:46:47 2013
@@ -523,7 +523,7 @@ public class HiveConf extends Configurat
HIVE_AUTO_SORTMERGE_JOIN("hive.auto.convert.sortmerge.join", false),
HIVE_AUTO_SORTMERGE_JOIN_BIGTABLE_SELECTOR(
"hive.auto.convert.sortmerge.join.bigtable.selection.policy",
- "org.apache.hadoop.hive.ql.optimizer.LeftmostBigTableSelectorForAutoSMJ"),
+ "org.apache.hadoop.hive.ql.optimizer.AvgPartitionSizeBasedBigTableSelectorForAutoSMJ"),
HIVESCRIPTOPERATORTRUST("hive.exec.script.trust", false),
HIVEROWOFFSET("hive.exec.rowoffset", false),
Modified: hive/trunk/conf/hive-default.xml.template
URL: http://svn.apache.org/viewvc/hive/trunk/conf/hive-default.xml.template?rev=1467000&r1=1466999&r2=1467000&view=diff
==============================================================================
--- hive/trunk/conf/hive-default.xml.template (original)
+++ hive/trunk/conf/hive-default.xml.template Thu Apr 11 17:46:47 2013
@@ -969,9 +969,11 @@
<property>
<name>hive.auto.convert.sortmerge.join.bigtable.selection.policy</name>
- <value>org.apache.hadoop.hive.ql.optimizer.LeftmostBigTableSelectorForAutoSMJ</value>
+ <value>org.apache.hadoop.hive.ql.optimizer.AvgPartitionSizeBasedBigTableSelectorForAutoSMJ</value>
<description>The policy to choose the big table for automatic conversion to sort-merge join.
- By default, the leftmost table is assigned the big table. Other policies are based on size:
+ By default, the table with the largest partitions is assigned the big table. All policies are:
+ . based on position of the table - the leftmost table is selected
+ org.apache.hadoop.hive.ql.optimizer.LeftmostBigTableSMJ.
. based on total size (all the partitions selected in the query) of the table
org.apache.hadoop.hive.ql.optimizer.TableSizeBasedBigTableSelectorForAutoSMJ.
. based on average size (all the partitions selected in the query) of the table
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java?rev=1467000&r1=1466999&r2=1467000&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java Thu Apr 11 17:46:47 2013
@@ -385,7 +385,7 @@ public abstract class CommonJoinOperator
// all evaluation should be processed here for valid aliasFilterTags
//
// for MapJoin, filter tag is pre-calculated in MapredLocalTask and stored with value.
- // when reading the hashtable, MapJoinObjectValue calcuates alias filter and provide it to join
+ // when reading the hashtable, MapJoinObjectValue calculates alias filter and provide it to join
protected ArrayList<Object> getFilteredValue(byte alias, Object row) throws HiveException {
boolean hasFilter = hasFilter(alias);
ArrayList<Object> nr = JoinUtil.computeValues(row, joinValues[alias],