Hive4

作者: 李导 | 来源:发表于2019-01-18 21:49 被阅读0次

p26-p30

Hive优化_GroupBy

  1. 并不是所有聚合操作都在reduce端完成,很多聚合操作可以在map端执行,然后在reduce端得到最终结果
(1)Map是否需要聚合设置为true:  
    set hive.map.aggr=ture;
(2)设置在Map端进行聚合操作的条目数目:
    set hive.groupby.mapaggr.checkinterval=10000;
(3)有数据倾斜的时候进行负载均衡(默认为false):
    set hive.groupby.skewindata=true;

Hive优化_去重统计

  1. 一般count distinct使用先groupby在count的方式
select count(id) from (select id from bigtable group by id) a;

Hive优化_行列过滤

  1. 先进行子查询,再进行表join操作以减小计算量
  2. 下面是先子查询,后join的方法
select b.id from bigtable b
join (select id from smalltable where id<=10) s on b.id=s.id;

下面是先join后设置查询条件的做法(速度慢,计算量大):

select b.id from bigtable b
join smalltable s on s.id=b.id
where s.id<=10;

相关文章

  • Hive4

    p26-p30 Hive优化_GroupBy: 并不是所有聚合操作都在reduce端完成,很多聚合操作可以在map...

  • Hive4:Hive报错集锦

    hive导入数据报错 ​ 报错原因: load data local顺序写反了 改顺序后执行成功: hive (b...

网友评论

      本文标题:Hive4

      本文链接:https://www.haomeiwen.com/subject/kipodqtx.html