diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java index 4d84f0f..2321fbd 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java @@ -256,7 +256,7 @@ private static void checkChildOperatorType(Operator op) } } - private static void validateMapJoinTypes(Operator op) + protected static void validateMapJoinTypes(Operator op) throws SemanticException { for (Operator parentOp : op.getParentOperators()) { checkParentOperatorType(parentOp); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SparkMapJoinProcessor.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SparkMapJoinProcessor.java index 23ee3ae..3b7bf8c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SparkMapJoinProcessor.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/SparkMapJoinProcessor.java @@ -81,6 +81,11 @@ public MapJoinOperator convertMapJoin(HiveConf conf, } } + // make sure only map-joins can be performed. + if (validateMapJoinTree) { + validateMapJoinTypes(mapJoinOp); + } + return mapJoinOp; } }