Hive的优化

Hive的优化策略及优化控制选项主要有以下几个方面:
(1)列裁剪
需设置参数hive.optimize.cp=true
(2)分区裁剪
需设置参数hive.optimize.pruner=true
(3)Joni操作
应该将条目少的表/子查询放在Join操作符的左边。原因是Join操作的Reduce阶段,Join操作符左边表中的内容会被加载到内存中,将条目少的表放在坐标可以有效减少内存溢出的几率。
(4)Map Join操作
需要设置的相关数据hive.join.emit.inter-1,hive.mapjoin.size.key,hive.map-join.cache.numrows。
(5)Group By操作
注意两点。一是Map端部分聚合。二是有数据倾斜时进行负载均衡。
(6)合并小文件
通过合并Map和Reduce的结果文件来消除小文件影响。需要设定的参数:
hive.merge.mapfiles=true,是否合并Map输入文件默认为true。
hive.merge.mapredfiles=false,设定是否合并Reduce输出文件,默认为false。
hive.merge.size.per.task=256*1000*1000,设定合并文件的大小,默认为256000000。

0 个评论

要回复文章请先登录注册