优化

mapjoin

原理:mapjoin把小表全部读入内存中,在map阶段拿大表数据和小表数据做匹配。没有shuffle过程,没有倾斜

jdbc:hive2://> SET hive.auto.convert.join=true;
jdbc:hive2://> SET hive.mapjoin.smalltable.filesize=600000000; --设置小表大小

场景:1、关联操作中小表+大表,小表在前

select f.a,f.b from A t join B f on(f.a=t.a and f.ftime=20111212);

      2、不等值连接操作

select A.a ,A.b from A join B where A.a>B.a;
渐变 --> 突变
原文地址:https://www.cnblogs.com/lybpy/p/9922173.html