You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2014/10/22 04:44:59 UTC
svn commit: r1633508 - in /hive/branches/spark: ./ hbase-handler/pom.xml
ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
Author: xuefu
Date: Wed Oct 22 02:44:59 2014
New Revision: 1633508
URL: http://svn.apache.org/r1633508
Log:
HIVE-8518: Compile time skew join optimization returns duplicated results (Rui via Xuefu) merged from trunk r1633422
Modified:
hive/branches/spark/ (props changed)
hive/branches/spark/hbase-handler/pom.xml (props changed)
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
Propchange: hive/branches/spark/
------------------------------------------------------------------------------
Merged /hive/trunk:r1633422
Propchange: hive/branches/spark/hbase-handler/pom.xml
------------------------------------------------------------------------------
Merged /hive/trunk/hbase-handler/pom.xml:r1633422
Modified: hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java?rev=1633508&r1=1633507&r2=1633508&view=diff
==============================================================================
--- hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java (original)
+++ hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SkewJoinOptimizer.java Wed Oct 22 02:44:59 2014
@@ -171,15 +171,17 @@ public class SkewJoinOptimizer implement
joinOpClone = (JoinOperator)currOpClone;
}
+ List<TableScanOperator> tableScanCloneOpsForJoin =
+ new ArrayList<TableScanOperator>();
+ if (!getTableScanOpsForJoin(joinOpClone, tableScanCloneOpsForJoin)) {
+ LOG.debug("Operator tree not properly cloned!");
+ return null;
+ }
+
// Put the filter "skewed column = skewed keys" in op
// and "skewed columns != skewed keys" in selectOpClone
insertSkewFilter(tableScanOpsForJoin, skewedValues, true);
- List<TableScanOperator> tableScanCloneOpsForJoin =
- new ArrayList<TableScanOperator>();
- assert
- getTableScanOpsForJoin(joinOpClone, tableScanCloneOpsForJoin);
-
insertSkewFilter(tableScanCloneOpsForJoin, skewedValues, false);
// Update the topOps appropriately