-- 开启动态分区,写入数据时需要
set hive.optimize.sort.dynamic.partition=true;
-- 默认值是strict,默认要求分区字段必须有一个是静态的分区值
set hive.exec.dynamic.partition.mode=nonstrict;
-- 控制在同一个sql中的不同的job是否可以同时运行。默认是False
set hive.exec.parallel=true;
-- 同一个sql允许并行任务的最大线程数。默认是8
set hive.exec.parallel.thread.number=16;
-- 大小表join自动优化中小表大小的定义。默认25000000(25m)
set hive.mapjoin.smalltable.filesize = 100000000;
-- 【Map阶段】
-- 环形缓冲区大小。默认100
set mapreduce.task.io.sort.mb = 200;
-- 并行处理并行处理spill的个数,默认10
set mapreduce.task.io.sort.factor = 20;
-- 环形缓冲区溢写阈值。默认0.8
set mapreduce.map.sort.spill.percent = 0.9;
-- matask的CPU核数,默认1。如果是计算密集型任务可以增加
set mapreduce.map.cpu.vcores = 1;
-- matask异常重试次数,默认4次
set mapreduce.map.maxattempts = 16;
-- 开启 hive 中间传输数据压缩功能,默认false
set hive.exec.compress.intermediate=true;
-- 开启map阶段的输出压缩功能,默认false
set mapreduce.map.output.compress=true;
-- 设置map阶段
Hive 实战调优参数大全
最新推荐文章于 2024-03-17 15:23:18 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)