diff --git common/src/java/org/apache/hadoop/hive/conf/HiveConf.java common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 1672453..858f16f 100644 --- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -414,7 +414,7 @@ true), HIVEJOINEMITINTERVAL("hive.join.emit.interval", 1000), HIVEJOINCACHESIZE("hive.join.cache.size", 25000), - HIVEMAPJOINBUCKETCACHESIZE("hive.mapjoin.bucket.cache.size", 100), + HIVESMBJOINCACHEROWS("hive.smbjoin.cache.rows", 10000), HIVEGROUPBYMAPINTERVAL("hive.groupby.mapaggr.checkinterval", 100000), HIVEMAPAGGRHASHMEMORY("hive.map.aggr.hash.percentmemory", (float) 0.5), HIVEMAPJOINFOLLOWEDBYMAPAGGRHASHMEMORY("hive.mapjoin.followby.map.aggr.hash.percentmemory", (float) 0.3), diff --git conf/hive-default.xml.template conf/hive-default.xml.template index 3a7d1dc..fcc2fa2 100644 --- conf/hive-default.xml.template +++ conf/hive-default.xml.template @@ -589,8 +589,8 @@ - hive.mapjoin.bucket.cache.size - 100 + hive.smbjoin.cache.rows + 10000 How many values in each keys in the map-joined table should be cached in memory. diff --git ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java index 7ce221c..fc5a955 100644 --- ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java +++ ql/src/java/org/apache/hadoop/hive/ql/exec/SMBMapJoinOperator.java @@ -124,7 +124,7 @@ protected void initializeOp(Configuration hconf) throws HiveException { foundNextKeyGroup = new boolean[maxAlias]; int bucketSize = HiveConf.getIntVar(hconf, - HiveConf.ConfVars.HIVEMAPJOINBUCKETCACHESIZE); + HiveConf.ConfVars.HIVESMBJOINCACHEROWS); for (byte pos = 0; pos < order.length; pos++) { RowContainer rc = JoinUtil.getRowContainer(hconf, rowContainerStandardObjectInspectors[pos],