全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

HBase如何处理热点数据问题(数据倾斜)

发布时间:2022-08-12 11:39:58
发布人:syq

  在大量客户端请求访问数据或者写入数据的时候,只有少数几个或者一个 RegionServer 做出响应,导致该服务器的负载过高,造成读写效率低下,而此时其他的服务器还是处于空闲的状态,就是所谓“旱的旱死,涝的涝死”。那么为什么会造成这种情况,主要的原因就是数据分布不均匀,可能是数据量分布不均匀,也可能是冷热数据分布不均匀。而糟糕的 RowKey 设计就是发生热点即数据倾斜的源头,所以这里会详细说说HBase如何处理热点数据问题

HBase如何处理热点数据问题

  加盐

  加盐即在原本的 rowkey 前面加上随机的一些值。 * 随机数:在 RowKey 的前面增加随机数来打散 RowKey 在 Region 的分布,但不是一种好的选择,因为 HBase 的设计是只有 RowKey 是索引,RowKey 都变成随机的了,读数据只能做性能极低的全表扫描了。总之不推荐。 * 哈希:哈希的方式明显比随机数更好,哈希会使同一行永远用一个前缀加盐。同样可以起到打散 Rowkey 在 Region 的分布的目的,使负载分散到整个集群,最重要读是可以预测的。使用确定的哈希可以让客户端重构完整的 Rowkey,可以使用 Get 操作准确获取某一个行数据。

  反转

  * 反转即把低位的随机数反转到高位。比如手机号码或者时间戳的反转,高位基本固定是 1 开头的,而末位是随机的。这种同样是一种比较常规的构成散列的方式。

  预分区

  预分区上面已经提到过,这种方式对于处理数据量分布不均匀,和冷热数据分布不均匀都是有一定效果的,但是需要对业务的应用场景做好准确的预判。

  更多关于大数据培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

相关文章

明道、teambition、Tower.im、Worktile、trello的功能都有哪些?

明道、teambition、Tower.im、Worktile、trello的功能都有哪些?

2023-10-14
反欺诈中所用到的机器学习模型有哪些?

反欺诈中所用到的机器学习模型有哪些?

2023-10-14
强化学习中on-policy与off-policy有什么区别?

强化学习中on-policy与off-policy有什么区别?

2023-10-14
为什么交叉熵可以用于计算代价?

为什么交叉熵可以用于计算代价?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取