diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index 9b3231d..c1d8316 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -290,6 +290,7 @@ private void vectorizeMapWork(MapWork mapWork) throws SemanticException { HashMap nodeOutput = new HashMap(); ogw.startWalking(topNodes, nodeOutput); mapWork.setScratchColumnVectorTypes(vnp.getScratchColumnVectorTypes()); + mapWork.setScratchColumnMap(vnp.getScratchColumnMap()); return; } @@ -372,13 +373,15 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx, Operator op = mWork.getAliasToWork().get(alias); if (op == tsOp) { fileKey = onefile; + if (vContext == null) { + vContext = getVectorizationContext(tsOp, physicalContext); + } + vContext.setFileKey(fileKey); + vectorizationContexts.put(fileKey, vContext); break; } } } - vContext = getVectorizationContext(tsOp, physicalContext); - vContext.setFileKey(fileKey); - vectorizationContexts.put(fileKey, vContext); vContextsByTSOp.put(tsOp, vContext); }