Hive调优

一 :参数调优

1.map和reduce的container的 cpu数和内存数调大

2.slowStart参数,这个参数就是设置map任务完成多少后,才启动reduce的参数

3.合并小文件的参数

二:sql调优

1.避免使用select * 因为会导致map端输出数据的时候,量比较大,本质就是列裁剪

2.有分区表的时候,一定是先过滤分区数据,本质就是分区裁剪

3.谓词下推: 就是先使用where 对过滤条件中的数据进行过滤

4.Count(distinct) 会出现一个reducer的情况,所以基本上都是使用group by 进行代替

5.全局排序,取前N名时,必须使用order by。但是order by会导致出现一个reducer的情况,所以可以先使用 distribute by ... sort By ...limit 先进行分区内部取前N名  最后套一层再用 order by,那么这个reducer 处理的数据量就小了很多

6.碰到那种可预见性的两张大表关联,可以给对这两张表创建分桶表

7.做hive 的join时,在业务允许的情况下,一定要提前去重,否则会出现数据膨胀的情况(笛卡尔积)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值