永发信息网

hive的Hive常用优化方法

答案:1  悬赏:20  手机版
解决时间 2021-04-07 21:10
hive的Hive常用优化方法
最佳答案
1、join连接时的优化:当三个或多个以上的表进行join操作时,如果每个on使用相同的字段连接时只会产生一个mapreduce。
2、join连接时的优化:当多个表进行查询时,从左到右表的大小顺序应该是从小到大。原因:hive在对每行记录操作时会把其他表先缓存起来,直到扫描最后的表进行计算
3、在where字句中增加分区过滤器。
4、当可以使用left semi join 语法时不要使用inner join,前者效率更高。原因:对于左表中指定的一条记录,一旦在右表中找到立即停止扫描。
5、如果所有表中有一张表足够小,则可置于内存中,这样在和其他表进行连接的时候就能完成匹配,省略掉reduce过程。设置属性即可实现,set hive.auto.covert.join=true; 用户可以配置希望被优化的小表的大小 set hive.mapjoin.smalltable.size=2500000; 如果需要使用这两个配置可置入$HOME/.hiverc文件中。
6、同一种数据的多种处理:从一个数据源产生的多个数据聚合,无需每次聚合都需要重新扫描一次。
例如:insert overwrite table student select * from employee; insert overwrite table person select * from employee;
可以优化成:from employee insert overwrite table student select * insert overwrite table person select *
7、limit调优:limit语句通常是执行整个语句后返回部分结果。set hive.limit.optimize.enable=true;
8、开启并发执行。某个job任务中可能包含众多的阶段,其中某些阶段没有依赖关系可以并发执行,开启并发执行后job任务可以更快的完成。设置属性:set hive.exec.parallel=true;
9、hive提供的严格模式,禁止3种情况下的查询模式。
a:当表为分区表时,where字句后没有分区字段和限制时,不允许执行。
b:当使用order by语句时,必须使用limit字段,因为order by 只会产生一个reduce任务。
c:限制笛卡尔积的查询。
10、合理的设置map和reduce数量。
11、jvm重用。可在hadoop的mapred-site.xml中设置jvm被重用的次数。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
九寨人家我想知道这个在什么地方
网上怎么做简历
故作清高却整天用着名牌的女人怎么形容
单选题已知a=(1,1),b=(1,0)且ka+b恰好与
急!大家好,帮忙从销售角度简单写一篇学习报
灶神圣君是佛教还是道教
我室外装灯带,将镇流器放在室内10米远的地方
儿童故事机声音变小
常州在上海的哪一个方向
到了大学,在已经报读专业的基础上,可不可以
如何设置手机百度浏览器仅移动网络无图模式
itext7 官方api怎么找
世界钢笔墨水排名
西瓜怎么热吃法
LINGO中@BIN和@GIN有什么区别
推荐资讯
跳河阅读题原文及答案赵力宏
28岁女儿硕士后公务员了对象太次父母怎么办
阿里巴巴国际站 如何设置 product details 以
海林北高和海林一中分别什么时候开学
我在一家小超市工作,担任组长。如何写一篇工
卖报歌是怎么来的
我想取个女生的英文名字,乐观开朗,Y开头的
脑血管堵塞不能吃的食物有什么?
只看日漫不买日货算不算爱国? 我爸非常恨日
天天快递出现疑难件扫描怎么回事?急、怎么解
我从哈尔滨坐客车到大庆、下车后、 我怎么找
单选题______hisarrival,hebegantomakeprep
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?