首页 > 代码库 > Hive优化策略介绍

Hive优化策略介绍

作为企业Hadoop应用的核心产品之一,Hive承载着公司95%以上的离线统计,甚至很多企业里的离线统计全由Hive完成;

 

Hive在企业云计算平台发挥的作用和影响越来越大,如何优化提速已经显得至关重要;

Hive作业的规模决定着优化层级,一个Hive作业的优化和一万个Hive作业的优化截然不同

 

后续文章将从如下三个方面进行hive的优化介绍:

1)  架构方面(高效、全局、局部)----最有效的优化,好的架构能让作业性能提高很多

  a)  分表;(日志表量大而且作业访问次数多,造成耗时较长;将用的比较少的数据剥离出来)

  b)  合理利用中间结果集

     i.   重视查过就丢的资源浪费;特别是大数据量的表,如果查完就丢,IO开销会很大;随着作业越来越多,造成hadoop的IO负载瓶颈;

    ii.   梳理作业之间的“血缘”关系,把他们之间使用相同的中间结果抽取出来。

  c)  常用复杂/低效统一给出,以避免上层多个作业每次需要的时候再去计算,提高上层多个作业的计算效率;

  d)  设计表分区:静态/动态分区,静态分区用的比较多;

2)  HQL语法层面(中低效、Job内)

  通过执行计划分析

3)  Hive参数层面(全局)

  太暴力,很少用;但有时会起到很好的效果;