diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java index 8153112..7c7b7d9 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java @@ -81,9 +81,13 @@ public void load(ExecMapperContext context, while (kvReader.next()) { MapJoinKey key = new MapJoinKey(); key.read(mapJoinTableSerdes[pos].getKeyContext(), (Writable)kvReader.getCurrentKey()); - MapJoinRowContainer values = new MapJoinRowContainer(); + + MapJoinRowContainer values = tableContainer.get(key); + if(values == null){ + values = new MapJoinRowContainer(); + tableContainer.put(key, values); + } values.read(mapJoinTableSerdes[pos].getValueContext(), (Writable)kvReader.getCurrentValue()); - tableContainer.put(key, values); } mapJoinTables[pos] = tableContainer;