[发明专利]一种基于HBase的分区数据调整方法、系统及终端在审
申请号: | 202010973409.7 | 申请日: | 2020-09-16 |
公开(公告)号: | CN112148792A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 朱健俊;周建二;黄勇 | 申请(专利权)人: | 鹏城实验室;南方科技大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/21 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 陈专 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hbase 分区 数据 调整 方法 系统 终端 | ||
本发明公开了一种基于HBase的分区数据调整方法、系统及终端,所述方法包括:搜集HBase分区内的分区数据,计算所述分区数据的倾斜程度;根据所述倾斜程度、行键所属分区的调整记录、行键相关的历史分区数据倾斜及整体分区倾斜确定行键的目标调整分区,并生成目标调整分区键;根据所述目标调整分区键对待调整行键进行修改,在所述待调整行键前添加所述目标调整分区键,完成行键分区的动态调整。本发明通基于分区内数据量的大小进行动态计算,得到分区数据量的变化,动态调整行键,对分区数据进行动态分配,同时考虑相同行键尽可能归属到相同的分区,既保证了数据查询的效率,又降低了分区数据倾斜情况,提高了系统资源利用率。
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种基于HBase的分区数据调整方法、系统及终端。
背景技术
HBase是一个分布式的、面向列的开源数据库,是一个适合于非结构化数据存储的数据库。
用户在建立HBase表时先根据业务情况预估数据量的大小,根据数据量的大小及HBase集群的数量进行索引即行键的设计,通过行键的定义决定分区键的设计(决定行键的分区归属范围),最终完成预规划分区的设计。
这样基于预测未来的数据量大小虽然能保证短时间内的分区数据量平衡,但是其依赖对数据量的提前预测,预测准备度不能保证,一旦预测不准确,往往会导致预分区的失效,导致分区的数据倾斜问题。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种基于HBase的分区数据调整方法、系统及终端,旨在解决现有技术中分区的数据倾斜问题。
为实现上述目的,本发明提供一种基于HBase的分区数据调整方法,所述基于HBase的分区数据调整方法包括如下步骤:
搜集HBase分区内的分区数据,计算所述分区数据的倾斜程度;
根据所述倾斜程度、行键所属分区的调整记录、行键相关的历史分区数据倾斜及整体分区倾斜确定行键的目标调整分区,并生成目标调整分区键;
根据所述目标调整分区键对待调整行键进行修改,在所述待调整行键前添加所述目标调整分区键,完成行键分区的动态调整。
可选地,所述的基于HBase的分区数据调整方法,其中,所述搜集HBase分区内的分区数据,计算所述分区数据的倾斜程度,之前还包括:
在存储数据的过程中,基于工作分区组中每个分区数据量的大小,将属于工作分区内的行键数据分配至预留分区内,并将预留分区调整为工作分区组,以将工作分区组内行键数据进行动态均匀分布。
可选地,所述的基于HBase的分区数据调整方法,其中,在一定时间间隔后,将所有预留分区调整为工作分区,动态行键调整包括:
基于行键在动态调整前和调整后所归属的分区之间的数据量的大小进行行键调整,控制相同行键的数据在已分配分区中分配;
或者,基于工作分区组中每个分区数据量的大小进行行键调整,控制所有RegionServer上的数据分布均衡;
分配后的行键动态调整到行键工作分区内或工作分区组中其他工作分区。
可选地,所述的基于HBase的分区数据调整方法,其中,所述搜集HBase分区内的分区数据,计算所述分区数据的倾斜程度,包括:
输入分区数据表,输出每个分区内行键的列数量。
可选地,所述的基于HBase的分区数据调整方法,其中,所述根据所述倾斜程度、行键所属分区的调整记录、行键相关的历史分区数据倾斜及整体分区倾斜确定行键的目标调整分区,并生成目标调整分区键,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鹏城实验室;南方科技大学,未经鹏城实验室;南方科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010973409.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置