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时,在业务允许的情况下,一定要提前去重,否则会出现数据膨胀的情况(笛卡尔积)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值