You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2013/11/13 03:58:06 UTC
svn commit: r1541369 -
/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java
Author: gunther
Date: Wed Nov 13 02:58:06 2013
New Revision: 1541369
URL: http://svn.apache.org/r1541369
Log:
HIVE-5808: broadcast join in tez discards duplicate records from the broadcasted table (Thejas M Nair via Gunther Hagleitner)
Modified:
hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java
Modified: hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java
URL: http://svn.apache.org/viewvc/hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java?rev=1541369&r1=1541368&r2=1541369&view=diff
==============================================================================
--- hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java (original)
+++ hive/branches/tez/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/HashTableLoader.java Wed Nov 13 02:58:06 2013
@@ -81,9 +81,13 @@ public class HashTableLoader implements
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;