本文主要是介绍【硬刚Hive】Hive面试题(7)Hive调优全方位指南(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2、HQL层面优化
2.1 执行计划
explain select * from movies;
2.1 列、行、分区裁剪
列裁剪就是在查询时只读取需要的列
行裁剪就是在查询时只读取需要的行,也就是提前过滤
分区剪裁就是在查询的时候只读取需要的分区。
set hive.optimize.cp = true; 列裁剪,取数只取查询中需要用到的列,默认是true
set hive.optimize.pruner=true; ## 分区剪裁
2.2 谓词下推
将 SQL 语句中的 where 谓词逻辑都尽可能提前执行,减少下游处理的数据量。对应逻辑优化器是PredicatePushDown。
set hive.optimize.ppd=true; ## 默认是true
eg:
select a.*, b.* from a join b on a.id = b.id where b.age &g
这篇关于【硬刚Hive】Hive面试题(7)Hive调优全方位指南(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!