diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java index b215f70..a9082eb 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java @@ -321,7 +321,10 @@ protected void determineCommonInfo(boolean isOuter) { projectionMapping.add(nextOutputColumn, batchColumnIndex, typeName); // Collect columns we copy from the big table batch to the overflow batch. - bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeName); + if (!bigTableRetainedMapping.containsOutputColumn(batchColumnIndex)) { + // Tolerate repeated use of a big table column. + bigTableRetainedMapping.add(batchColumnIndex, batchColumnIndex, typeName); + } nextOutputColumn++; }