Hive開啟mapjoin優化、並行執行、動態分區


1. mapjoin優化適合小表join大表

set hive.optimize.skewjoin=true; //有數據傾斜時開啟負載均衡,默認false
set hive.auto.convert.join=true; //設置自動選擇MapJoin,默認是true
set hive.auto.convert.join.noconditionaltask=true; //map-side join
set hive.auto.convert.join.noconditionaltask.size=100000000; //多大的表可以自動觸發放到內層LocalTask中,默認大小10M
set hive.mapjoin.smalltable.filesize=200000000; //設置mapjoin小表的文件大小為20M,小表閾值

 

2. 開啟並行執行

set hive.exec.parallel=true; //可以開啟並發執行
set hive.exec.parallel.thread.number=16; //同一個sql允許最大並行度,默認為8。

 

3. 開啟動態分區

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM