Hive调优一文打尽
发布时间:2024年01月16日
一、调优概述
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 并行度,能有效
文章来源:https://blog.csdn.net/u011026329/article/details/135631385
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!