HIVE使用优化总结

Hive使用优化策略详解
本文总结了Hive使用中的关键优化点,包括调整splitsize以优化切片大小,解决小文件问题的输入和输出合并策略,以及Shuffle过程的优化。了解这些设置对于提升Hive查询效率至关重要。
Hive使用注意点
(1)尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表加上分区判断过滤不需要处理的数据。
(2)分区表关联在on条件上加上分区判断,否则会扫全表。
(3)避免一个SQL包含复杂逻辑,可以借助中间表来完成复杂的逻辑。
(4)建议使用外部表,防止误删表时删除数据;对于中间表可使用内部表的方式。

splitsize大小--切片大小( mapred.max.split.size 和mapred.min.split.size )

-->调大map个数(128MB~512MB/Task)
调小mapred.max.split.size
-->调小map个数
调大mapred.max.split.size  

-->在未指定reduce个数的情况下,计算公式如下:
reducers = Math.min(maxReducers, totalInputFileSize/bytesPerReducer)
maxReducers由参数hive.exec.reducers.max设置,默认999

bytesPerReducer由参数hive.exec.reducers.bytes.per.reducer 设置,默认1G

调整reduce个数(建议值 512MB~1GB/Task)
通过mapred.reduce.tasks或mapreduce.job.reduces设置

小文件合并——输入合并(输入大量小文件)
set hive.input.format = org.apache.hadoop.hive.ql.io.combinehiveinputformat;
set mapred.max.split.size = 536870912;  //512MB
set mapred.min.split.size = 134217728;  //128MB

小文件合并——输出合并(hive.merge.size.per.task)
Map-Only任务输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值