Hive--参数调优

本文介绍了Hive的参数调优,包括mapred.max.split.size、mapred.reduce.tasks、hive.exec.reducers.bytes.per.reducer等关键参数,旨在优化map和reduce任务的分配,减少小文件数量,提高数据处理效率。此外,还涉及到map端聚合、动态分区和数据倾斜优化的配置策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mapred.max.split.size=256000000; // 决定每个map处理的最大的文件大小,单位为B
mapred.min.split.size.per.node=1; // 节点中可以处理的最小的文件大小
mapred.min.split.size.per.rack=1; // 机架中可以处理的最小的文件大小

mapred.reduce.tasks=10; -- 设置reduce的数量
hive.exec.reducers.bytes.per.reducer=1073741824 // 每个reduce处理的数据量,默认1GB

hive.merge.mapredfiles=false //reduce输出是否合并
hive.merge.mapfiles=true //map输出是否合并
hive.merge.smallfiles.avgsize=16000000 // 小文件大小

hive.mapred.mode=nonstrict //分为nonstrict,strict,默认是nonstrict;如果设置为strict,会对三种情况的语句在compile环节做过滤:笛卡尔积、order by 不加 limit、分区表不指定 partition predicate
hive.map.aggr=true // map端聚合,相当于combiner
hive.map.aggr.hash.force.flush.memory.threshold=0.9
hive.map.aggr.hash.min.reduction=0.5
hive.map.aggr.hash.percentmemory=0.5

hive.exec.reducers.max=200;
hive.groupby.mapaggr.checkinterval=100000 ; //group的键对应的记录条数超过这个值则会进行分拆,值根据具体数据量设置
hive.skewjoin.key=100000; //join的键对应的记录条数超过这个值则会进行分拆,值根据具体数据量设置
hive.optimize.skewjoin=t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值