千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > HBase如何处理热点数据问题(数据倾斜)

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

来源:千锋教育
发布人:syq
时间: 2022-08-12 11:39:58 1660275598

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

HBase如何处理热点数据问题

  加盐

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

  反转

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

  预分区

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

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

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT