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