目录
2.开启orc布隆过滤器(布隆过滤器:没有一定没有,有可能没有,还有查数据)
hive 性能优化手段可以从三个方面入手
1.sql语法优化
1.使用explain 查询计划优化sql
2.使用analyze分析器
3.谓词下推
hive.optimize.pdd=true(默认开启)
2.数据存储优化
1.设计分区表
2.设计分桶表
3.采用列式存储(orc格式存储)
1.开启orc索引
为了index有效利用,向表中加载数据时,必须对需要使用索引字段排序
2.开启orc布隆过滤器(布隆过滤器:没有一定没有,有可能没有,还有查数据)
3.开启orc 矢量化查询
矢量化查询:按照每批1024行读取数据,并且一次性对整个记录 整合应用操作,提升过滤,联合,聚合等操作性能。(类似矢量图,通过算法得到,放大缩小不失真。)
4.使用文件snappy压缩
5.小文件优化
1.避免生成小文件
2. 合并小文件
3.hive参数优化
1.hive 中mr相关参数优化
(1).自适应本地模式
(2).jvm重用
hadoop 会为每个task启动一个jvm运行,jvm启动内存开销大
(3) .stage并行执行
2.hive 中hive相关参数优化
(1).小表join小表,map join,缓存小表
默认已经开启:hive.auto.convert.join=true
(2).大表join大表,bucket join
1.clustered by colName
2.clustered by colName sorted by (colName)