hive优化,
hive优化1、列裁剪
读取数据时,只读取查询中需要的列,忽略其他列
select a,b from t where e<10;
需要设置hive.optimize.cp=true
2、分区裁剪
经过分区裁剪优化的查询,要实现分区裁剪,
需要设置hive.optimize.pruner=true
3、join操作
将条目少的表/子查询放在join操作符的左边.
4、map join操作
map join操作无须 reduce即可完成
select /*+mapjoin(pv) */ pv.pageid,u.age
from page_view pv
join user u on (pv.userid=u.userid);
必须设置
hive.join.emit.inter-l=1000
hive.mapjoin.size.key=10000
hive.mapjoin.cache.numrows=10000
5、group by操作
1、map端部分聚合
hive.map.aggr=true
hive.groupby.mapagger.checkinterval=100000
用于设置在map端聚合操作的条数目
2、有数据倾协时进行负载均衡
hive.groupby.skewindata=true
合并小文件
hive.merge.mapfiles=true
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。