免费茶叶网站建设,动漫新闻资讯站,广东公司网站建设哪家好,文档生成器app一、调优概述
Hive 作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、Job或I/O过多、MapReduce 分配不合理等等。对Hive 的调优既包含 Hive 的建表设计方面,对HiveHQL 语句本身的优化,…一、调优概述
Hive 作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、Job或I/O过多、MapReduce 分配不合理等等。对Hive 的调优既包含 Hive 的建表设计方面,对HiveHQL 语句本身的优化,也包含 Hive 配置参数和底层引擎 MapReduce 方面的调整。
所以此次调优主要分为以下四个方面展开:
Hive的建表设计层面HQL语法和运行参数层面Hive架构层面Hive数据倾斜总之,Hive调优的作用:在保证业务结果不变的前提下,降低资源的使用量,减少任务的执行时间。
二、调优须知
对于大数据计算引擎来说:数据量大不是问题,数据倾斜是个问题。Hive的复杂HQL底层会转换成多个MapReduce Job并行或者串行执行,Job数比较多的作业运行效 率相对比较低,比如即使只有几百行数据的表,如果多次关联多次汇总,产生十几个Job,耗时很长。 原因是 MapReduce 作业初始化的时间是比较长的。在进行Hive大数据分析时,常见的聚合操作比如sum,count,max,min,UDAF等 ,不怕数据倾 斜问题,MapReduce 在 Mappe阶段 的预聚合操作,使数据倾斜不成问题。好的建表设计,模型设计事半功倍。设置合理的 MapReduce 的 Task 并行度,能有效