diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java index 96481f1..819b020 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/SparkMapJoinResolver.java @@ -160,16 +160,10 @@ private void generateLocalWork(SparkTask originalTask) { for (BaseWork parentWork : originalWork.getParents(work)) { if (containsOp(parentWork,SparkHashTableSinkOperator.class)) { parentWork.getMapRedLocalWork().setTmpHDFSPath(tmpPath); - parentWork.getMapRedLocalWork().setDummyParentOp( - new ArrayList>()); } } - bigTableLocalWork.setAliasToWork( - new LinkedHashMap>()); - bigTableLocalWork.setAliasToFetchWork(new LinkedHashMap()); bigTableLocalWork.setTmpPath(tmpPath); - // TODO: set inputFileChangeSensitive and BucketMapjoinContext, // TODO: enable non-staged mapjoin } diff --git ql/src/java/org/apache/hadoop/hive/ql/plan/MapredLocalWork.java ql/src/java/org/apache/hadoop/hive/ql/plan/MapredLocalWork.java index 6fbdcd2..316d306 100644 --- ql/src/java/org/apache/hadoop/hive/ql/plan/MapredLocalWork.java +++ ql/src/java/org/apache/hadoop/hive/ql/plan/MapredLocalWork.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.plan; import java.io.Serializable; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -54,7 +55,10 @@ private boolean hasStagedAlias; public MapredLocalWork() { - + this(new LinkedHashMap>(), + new LinkedHashMap()); + this.dummyParentOp = new ArrayList>(); + this.directFetchOp = new LinkedHashMap>>(); } public MapredLocalWork( @@ -62,23 +66,20 @@ public MapredLocalWork( final LinkedHashMap aliasToFetchWork) { this.aliasToWork = aliasToWork; this.aliasToFetchWork = aliasToFetchWork; - } public MapredLocalWork(MapredLocalWork clone){ this.tmpPath = clone.tmpPath; this.inputFileChangeSensitive=clone.inputFileChangeSensitive; - } - public void setDummyParentOp(List> op){ this.dummyParentOp=op; } public List> getDummyParentOp(){ - return this.dummyParentOp; + return dummyParentOp; }