1.列裁剪
查询时我只关心用到的那几个列。
需要设置:hive.optimize.cp = true
2.分区裁剪
查询过程中减少不必要的分区。
需要设置:hive.optimize.pruner = true
3.join
join操作在recude阶段join左边表中的内容会被加载到内存中,将数据少的表放在左边可以减少内存溢出的发生。
4.map join
map join无需reduce操作就可以在map阶段全部完成,前提是在map阶段能够访问到全部需要的数据。
5.group by
map端部分聚合:
需要设置:
hive.map.aggr = true 设定是否在map端进行聚合 默认为true
hive.groupby.mapaggr.checkinterval = 10000 设定在map端进行聚合操作的条目数
有数据倾斜时进行负载均衡:
需要设置:
hive.groupby.skewindata = true 生成的查询计划会有两个mapreduce任务,第一个任务中的map输入会随机分到reduce中,对每个reduce做部分聚合,这样处理的结果是:相同的group by key有可能被分发到不同的reduce中,从而达到负载均衡的目的。第二个任务再根据预处理数据结果按照group by key分布到reduce中。
6.合并小文件
合并map和reduce的中间结果文件来提高效率
需要设置:
hive.merge.mapfiles = true 设定是否合并map输出文件 默认是true
hive.merge.mapredfiles = false 设定是否合并reduce输出文件 默认是flase
hive.merge.size.per.task = 256*1000*1000 设定合并文件的大小
相关推荐
HIVE优化实战分享 大数据存储方案 很好的参考文档
作为企业Hadoop应用的核心产品,Hive承载着FaceBook、淘宝等大佬 95%... 拥有1万多个Hive作业的大电商如何进行Hive优化的?本系列课结合企业实战和场景从作业架构层面、Hql(Hive sql)语法层面、Hive参数层面依次讲述。
Hive思维导图之Hive优化
hive优化.pdf
hive 优化经典。pdf文档。 讨论常见的hive执行瓶颈,对sql的写法和效率较低的情况进行分析和调优
Hive优化方法整理 hive 数据倾斜 内连接
Hive优化案例、Hive数据处理模式、Hive常见问题与优化、Hive实践
测试了关于hive优化的一些方法,ETL需要的朋友可以下载看看。
hive 优化在面试以及工作中经常使用,我整理了一份思维导图供大家学习。
Hive优化.xmind
Hive优化以及执行原理,一位前辈总结的hive知识,个人觉得非常有用,资源难找,现在贡献给大家,独乐乐不如众乐乐。
hive 面试宝典,hive常见问题,hive优化非常详细
hadoop hive优化,还不错,学习
hive ,优化总结,本文涉及HIVE的参数设置,H—SQL关系的写法中需要注意的地方。
hive优化 PDF
Hive优化(思维导图)
Hive优化和一些其它的重要优化概念.md
Hive函数思维导图,便捷整理思路,Hive参数、Hive分桶、Hive视图、Hive运行方式、Hive权限管理、Hive优化
Join 查找操作的基本原则:应该将条目少的表/子查询放在 Join 操作符的左边。原因 是在 Join 操作的 Reduce 阶段,位于 Join 操作符左边的表的内容会被加载进内存,将 条目少的表放在左边,可以有效减少发生内存...