1、小、大表 join
在小表和大表進行join時,將小表放在前邊,效率會高。hive會將小表進行緩存。
2、mapjoin
使用mapjoin將小表放入內存,在map端和大表逐一匹配。從而省去reduce。
樣例:
select /*+MAPJOIN(b)*/ a.a1,a.a2,b.b2 from tablea a JOIN tableb b ON a.a1=b.b1
在0.7版本號后。也能夠用配置來自己主動優化
set hive.auto.convert.join=true;
1、小、大表 join
在小表和大表進行join時,將小表放在前邊,效率會高。hive會將小表進行緩存。
2、mapjoin
使用mapjoin將小表放入內存,在map端和大表逐一匹配。從而省去reduce。
樣例:
select /*+MAPJOIN(b)*/ a.a1,a.a2,b.b2 from tablea a JOIN tableb b ON a.a1=b.b1
set hive.auto.convert.join=true;
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。