千家信息网

Hive数据倾斜的概念及处理方式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Hive数据倾斜的概念及处理方式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Hive数据倾斜的概念及处理方式"吧!Hive数据倾斜及处
千家信息网最后更新 2026年11月03日Hive数据倾斜的概念及处理方式

本篇内容主要讲解"Hive数据倾斜的概念及处理方式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Hive数据倾斜的概念及处理方式"吧!

Hive数据倾斜及处理

① 数据倾斜的概念及原因

1.1 数据倾斜

数据倾斜就是数据的分布不平衡,某些地方特别多,某些地方又特别少,导致的在处理数据的时候,有些很快就处理完了,而有些又迟迟未能处理完,导致整体任务最终迟迟无法完成,这种现象就是数据倾斜。

针对mapreduce的过程来说就是,有多个reduce,其中有一个或者若干个reduce要处理的数据量特别大,而其他的reduce处理的数据量则比较小,那么这些数据量小的reduce很快就可以完成,而数据量大的则需要很多时间,导致整个任务一直在等它而迟迟无法完成。

跑mr任务时常见的reduce的进度总是卡在99%,这种现象很大可能就是数据倾斜造成的。


1.2 产生数据倾斜的原因

  • key分布不均匀

上面就说过,数据倾斜是因为reduce的数据量大小差异过大,而reduce的数据是分区的结果,分区是对key求hash值,根据hash值决定该key被分到某个分区,进而进入到某个reduce,而如果key很集中或者相同,那么计算得到它们的hash值可能一样,那么就会被分配到同一个reduce,就会造成这个reduce所要处理的数据量过大。

  • 业务数据本身的特性

比如某些业务数据作为key的字段本就很集中,那么结果肯定会导致数据倾斜啊。

还有其他的一些原因,但是,根本原因还是key的分布不均匀,而其他的原因就是会造成key不均匀,进而导致数据倾斜的后果,所以说根本原因是key的分布不均匀。

1.3 数据倾斜的表现

  • 任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异过大。

  • 单一reduce的记录数与平均记录数差异过大,通常可能达到3倍甚至更多。 最长时长远大于平均时长。

② 数据倾斜的解决办法

2.1 设置参数

hive.map.aggr = true // Map 端部分聚合,相当于Combiner;

hive.groupby.skewindata=true //

有数据倾斜的时候进行负载均衡,当选项设定为 true,生成的查询计划会有两个 MR Job。第一个 MR Job 中,Map 的输出结果集合会随机分布到 Reduce 中,每个 Reduce 做部分聚合操作,并输出结果,这样处理的结果是相同的 Group By Key 有可能被分发到不同的 Reduce 中,从而达到负载均衡的目的;第二个 MR Job 再根据预处理的数据结果按照 Group By Key 分布到 Reduce 中(这个过程可以保证相同的 Group By Key 被分布到同一个 Reduce 中),最后完成最终的聚合操作。

2.2 SQL语句优化

  • 大小表join

使用map join让小的维度表(1000条以下的记录条数) 先进内存。在map端完成reduce。

  • 大表Join大表

把空值的key变成一个字符串加上随机数,把倾斜的数据分到不同的reduce上,由于null值关联不上,处理后并不影响最终结果。

  • count distinct大量相同特殊值

count distinct时,将值为空的情况单独处理,如果是计算count distinct,可以不用处理,直接过滤,在最后结果中加1。如果还有其他计算,需要进行group by,可以先将值为空的记录单独处理,再和其他计算结果进行union。

  • 特殊情况特殊处理

在业务逻辑优化效果的不大情况下,有些时候是可以将倾斜的数据单独拿出来处理。最后union回去。

到此,相信大家对"Hive数据倾斜的概念及处理方式"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 处理 结果 任务 原因 就是 相同 方式 特殊 业务 差异 情况 时候 不同 均衡 内容 地方 大小 很快 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 广州大一互联网络科技有限公司 广州百单互联网科技有限公司 互联网科技会 疫情对互联网科技公司影响 互联网 科技 撒么互联网科技公司 哈尔滨秒房互联网科技有限公司 上海电发互联网科技有限公司 深圳市运趣互联网科技有限公司 深圳前海聚择互联网科技有限公司 互联网科技革命什么开始 深圳市优智互联网科技有限公司 梅州GM互联网络科技有限公司 神州科技互联网有限公司 福州德业互联网科技 银川新华互联网科技学校是国营吗 数字科技和互联网金融哪个好 互联网科技创新方面的资料 互联网的黑科技实验室 湖南永感互联网科技有限公司 江苏根荣互联网科技 深圳恒合互联网络科技有限公司 互联网 科技 互联网科技类展会 广州慧亚互联网科技怎么样 顶级互联网科技成果有哪些 广西互联网科技孵化中心 雨阳互联网卡科技有限公司 小牛互联网科技有限公司地址
0