大家好,欢迎来到IT知识分享网。
方法一
set hive.auto.convert.join = true; –是否开自动mapjoin
set hive.mapjoin.smalltable.filesize;–mapjoin的表size大小
以上两个参数同时使用,在hive.auto.convert.join为true时,只要小表size小于hive.mapjoin.smalltable.filesize的设置值,并且小表不是关联操作的最后一张表,小表就会走mapjoin。
set hive.auto.convert.join = true;
set hive.mapjoin.smalltable.filesize = 6250000;
select * from table_1 --小表,size? 5m
join table_2
on 1=1;
方法二
sethive.ignore.mapjoin.hint; –true 注释方式不生效 false注释方式生效 强行指定需要加入内存走mapjoin的表
set?hive.ignore.mapjoin.hint=true;
select /*+ mapjoin(table_1) */?
? ? *?
from table_2
join table_1?--小表,size??5m
on 1=1;
如果mapjoin生效会在mr日志中看到以下打印日志
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23388.html