Hive基础(五)-hive参数的调优
【摘要】 8.hive参数的调优
1.fetch抓取
2.本地模式开启
3.表的优化
1)小表join大表
对于我们来说,尽量把小表放前面;再进一步,可以使用group by将比较小的表放在map端进行数据加载和处理。
select count(distinct s_id) from score;
select count(s_id...
8.hive参数的调优
1.fetch抓取
2.本地模式开启
3.表的优化
1)小表join大表
对于我们来说,尽量把小表放前面;再进一步,可以使用group by将比较小的表放在map端进行数据加载和处理。
select count(distinct s_id) from score;
select count(s_id) from score group by s_id;
在map端进行聚合,效率更高
2)多表关联,拆成小段,进行处理
3)大表join大表
(1)空key的过滤
(2)空key的转换
(3)空key的散列
4)小表join大表
mapjoin功能的开启:默认情况下是开启
5)count
对于数据的处理数据量太大,所以先局部聚合,然后在进行count处理
数据的倾斜
某一个reduce处理数据量太大,产生处理效率降低。
1)map个数的设置
blocksize minsplit maxsplit
max(minsplit ,min(blocksize ,maxsplit))
set dfs.blocksize;
2)map是不是越多越好
对于小文件,要进行合并操作
3)是不是保证每个map处理接近128m的文件块,就高枕无忧了?
reduce的设置
1)recude是不是越多越好
不是,浪费资源
如何有效的设置reduce个数
如果指定分区,最好按照指定分区的个数进行设置
如果动态分区,需要自己按照数据量的大小进行尝试分区
文章来源: www.jianshu.com,作者:百忍成金的虚竹,版权归原作者所有,如需转载,请联系作者。
原文链接:www.jianshu.com/p/5bcbb831015c
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)