HIVE优化II

本文详细介绍了HIVE的优化方法,包括环境优化、应用配置优化、HQL语句优化等。强调了分区、分桶、索引的重要性,提出了小表驱动大表的join策略,动态分区、并行执行、推测执行等技术。还详细讨论了数据倾斜的解决方案,如map-side聚合、调整reduce数量以及使用特定的聚合策略。此外,还提到了防止小文件过多的策略和输出文件的合并设置。
摘要由CSDN通过智能技术生成

hive的优化
1.环境的优化(内存分配、负载分配等)
2.应用配置属性方面的优化
3.优化hql语句


查看explain执行计划:
使用explain关键字加上hql语句生成执行计划
一个hql语句将会有一个或者多个stage,每一个stage相当于一个mr的job,stage可以是fetch,map join、limit等操作。每一个stage都会
按照依赖关系依次执行,没有依赖关系的可以设置其并行执行,提高效率


1.分区,分桶,索引,视图都是对hive的优化; 文本格式和压缩格式

2.对hql的优化,select返回结果列优化、避免笛卡尔积的查询、limit的优化

3.对join的优化,小表驱动大表(map端join)
   默认已开启map端join: set hive.auto.convert.join = true;
   大表小表的阈值设置:set hive.mapjoin.smalltable.filesize=25000000; (默认25M一下是小表)
   
4.严格模式(join不加条件报错、order by不带limit报错、对分区表查询不带分区条件报错;)

5.动态分区(不用手动写分区名,可以设置动态分区个数,避免分区数过多)

6.并行执行(没有依赖关系的可以设置其并行执行)

7.推测执行(某个task运行慢,重新开启一个,谁先运行完,就把慢的kill掉)

8.使用hive的本地模式(在一个JVM里,避免大量的网络IO读写,需要配置)

9.开启J

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值