hive调优系列-1.调优须知

1、对于大数据计算引擎来说:数据量大不是问题,数据倾斜是个问题

2、Hive的复杂HQL底层会转换成多个MapReduce Job并行或者串行执行,Job数比较多的作业运行效率相对比较低,比如即使只有几百行数据的表,如果多次关联多次汇总,产生十几个Job,耗时很长。原因是MapReduce作业初始化的时间是比较长的。

3、在进行Hive大数据分析时,常见的聚合操作比如sum,count,max,min,UDAF等,不怕数据倾斜问题,MapReduce在Map阶段的预聚合操作,使数据倾斜不成问题。

4、好的建表设计,模型设计事半功倍。

5、设置合理的MapReduce的Task并行度,能有效提升性能。(比如,10w+数据量级别的计算,用100个reduceTask,那是相当的浪费,1个足够,但是如果是亿级别的数据量,那么1个Task又显得捉襟见肘)

6、了解数据分布,自己动手解决数据倾斜问题是个不错的选择。这是通用的算法优化,但算法优化有时不能适应特定业务背景,开发人员了解业务,了解数据,可以通过业务逻辑精确有效的解决数据倾斜问题。

7、数据量较大的情况下,慎用count(distinct),group by容易产生倾斜问题。

8、对小文件进行合并,是行之有效的提高调度效率的方法,假如所有的作业设置合理的文件数,对任务的整体调度效率也会产生积极的正向影响

9、优化时把握整体,单个作业最优不如整体最优

相关推荐
G皮T37 分钟前
【ELasticsearch】索引字段设置 “index”: false 的作用
大数据·elasticsearch·搜索引擎·全文检索·索引·index·检索
程序员皮皮林3 小时前
Redis:大数据中如何抗住2000W的QPS
大数据·数据库·redis
K***65894 小时前
从0到1部署Tomcat和添加servlet(IDEA2024最新版详细教程)
hive·servlet·tomcat
武子康4 小时前
大数据-169 Elasticsearch 入门到可用:索引/文档 CRUD 与搜索最小示例
大数据·后端·elasticsearch
v***91304 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
李兆龙的博客5 小时前
从一到无穷大 #61 Hive史诗
数据仓库·hive·hadoop
千里念行客2406 小时前
国产射频芯片“小巨人”昂瑞微今日招股 拟于12月5日进行申购
大数据·前端·人工智能·科技
一水鉴天6 小时前
整体设计 定稿 之15 chat分类的专题讨论(codebuddy)
大数据·分类·数据挖掘
7***u21617 小时前
显卡(Graphics Processing Unit,GPU)架构详细解读
大数据·网络·架构
Qzkj66620 小时前
从规则到智能:企业数据分类分级的先进实践与自动化转型
大数据·人工智能·自动化