Hive基础(五)-hive参数的调优

举报
bigdata张凯翔 发表于 2021/03/26 01:53:15 2021/03/26
【摘要】 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。