一种基于Hbase的元数据信息管理方法及系统技术方案

技术编号:38884162 阅读:12 留言:0更新日期:2023-09-22 14:13
本发明专利技术提出了一种基于Hbase的元数据信息管理方法及系统,涉及Hbase数据库技术领域。本发明专利技术在Hbase数据写入的基础上,新增一个RecordServer接口服务,构建一个初始子列元数据映射表。然后在Hbase数据写入的流程中,通过WALEdits对请求的操作和具体数据信息进行判断、解析,并与初始子列元数据映射表中的元数据信息进行比较、更新,最后汇总出所有的子列。从而给业务提供统一的查询入口,极大地减少了多次重复的全表扫描工作、集群资源的浪费,能够更加快速有效地响应下游建表需求,满足实时业务场景。业务场景。业务场景。

【技术实现步骤摘要】
一种基于Hbase的元数据信息管理方法及系统


[0001]本专利技术涉及Hbase数据库
,具体而言,涉及一种基于Hbase的元数据信息管理方法及系统。

技术介绍

[0002]HBase是一个基于HDFS(分布式文件系统)开发的面向列族的分布式NoSQL数据库,它也因为海量存储、高吞吐、列式存储、稀疏性、高可靠、扩展性强等特点在大数据场景中被广泛应用。
[0003]在实际场景中,很多业务人员早已习惯使用RDBMS数据库以及SQL进行数据查询和处理,Hbase可能使用并不是很方便。因为hbase底层并不支持传统SQL方式查询,导致业务开发者在使用时无法更好的利用现有的经验来查询HBase。好在业界还是有现成的方案来支持,如Hive、Phoenix等。然而Hbase中的表是类似于关系型数据库的表概念,HBase定义表时只需要声明列族即可,不需要声明具体的列。这意味着往HBase写入数据时,字段可以动态地按需指定,所以Hbase表结构中没有固定的子列(列限定名),这样在Phoenix、Hive侧建立映射表时,则不能直接获取到表的字段信息,只能使用全表扫描的方式来获取子列。而通常情况下Hbase存储的表数据量都是GB、TB以及PB级别的,如果使用时才去全表扫描,准备映射所需的字段信息,那必定会耗费大量的时间,造成一些业务无法及时响应的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种基于Hbase的元数据信息管理方法及系统,其能够统一更新管理表的子列信息,减小业务方集中大数据量计算请求等场景对集群的计算压力,避免节点资源浪费,从而高效响应下游服务获取子列信息的相关请求。
[0005]本专利技术的实施例是这样实现的:
[0006]第一方面,本申请实施例提供一种基于Hbase的元数据信息管理方法,其包括:
[0007]在Apache

Hbase存储系统下新增RecordServer接口服务,构建初始子列元数据映射表;
[0008]通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给上述RecordServer接口服务;
[0009]RecordServer接口服务解析WALEdits对象,将本次数据写入的目标表通过Rowkey在上述初始子列元数据映射表中进行查询,若查询不到,则创建一张空表;反之,则读取并返回该目标表对应的ColumnFamilyInfoMap字段的数据;
[0010]遍历WALEdits中的对象信息,在内存中将查询到的CoulumFamilyInfoMap数据进行合并、更新;
[0011]当内存中对象信息达到设定阈值后,根据对象内容生成Hql查询语句,并更新上述初始子列元数据映射表中的初始数据,得到最终的子列元数据映射表。
[0012]基于第一方面,在本专利技术的一些实施例中,上述初始子列元数据映射表包括
NameSpace、Tablename、Rowkey、ColumnFamily和ColumnQualifer。
[0013]基于第一方面,在本专利技术的一些实施例中,上述通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给上述RecordServer接口服务的步骤包括:
[0014]响应于客户端发起的数据写入请求,并在数据写入成功后,检查写入的目标表是否在预置的监控表单中,若是,则将本次数据写入过程中产生的WALEdits对象信息发送给上述RecordServer接口服务;若否,则结束退出。
[0015]基于第一方面,在本专利技术的一些实施例中,上述当内存中对象信息达到设定阈值后,根据对象内容生成Hql查询语句,并更新上述初始子列元数据映射表中的初始数据,得到最终的子列元数据映射表的步骤包括:
[0016]当元数据对象达到设定阈值后,将内存中的数据刷写到HDFS;
[0017]每隔设定的时间,将去重后所有rowkey的列簇、子列信息进行汇总,并将汇总的数据通过特定的FinallyRowkey插入到上述初始子列元数据映射表中进行更新;
[0018]需求用户通过查询更新后的初始子列元数据映射表的FinallyRowkey字段获取最终的所有列簇、子列信息。
[0019]基于第一方面,在本专利技术的一些实施例中,还包括:
[0020]根据数据更新时间和子列集合长度对最新的N条数据给出预测推荐的子列信息集合,并通过特定的ForecastRowkey插入到上述初始子列元数据映射表中进行更新;
[0021]需求用户通过查询更新后的初始子列元数据映射表的ForecastRowkey字段获取预测的所有列簇、子列信息。
[0022]第二方面,本申请实施例提供一种基于Hbase的元数据信息管理系统,其包括:
[0023]接口构建模块,用于在Apache

Hbase存储系统下新增RecordServer接口服务,构建初始子列元数据映射表;
[0024]WALEdits对象获取模块,用于通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给上述RecordServer接口服务;
[0025]查询模块,RecordServer接口服务解析WALEdits对象,将本次数据写入的目标表通过Rowkey在上述初始子列元数据映射表中进行查询,若查询不到,则创建一张空表;反之,则读取并返回该目标表对应的ColumnFamilyInfoMap字段的数据;
[0026]合并更新模块,用于遍历WALEdits中的对象信息,在内存中将查询到的CoulumFamilyInfoMap数据进行合并、更新;
[0027]数据回写模块,用于在内存中对象信息达到设定阈值后,根据对象内容生成Hql查询语句,并更新上述初始子列元数据映射表中的初始数据,得到最终的子列元数据映射表。
[0028]第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项上述的方法。
[0029]第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。
[0030]相对于现有技术,本专利技术的实施例至少具有如下优点或有益效果:
[0031]本申请实施例提供一种基于Hbase的元数据信息管理方法及系统,首先,在Apache

Hbase存储系统下新增RecordServer接口服务,构建初始子列元数据映射表。然后,
通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给上述RecordServer接口服务。并且通过RecordServer接口服务解析WALEdits对象,将本次数据写入的目标表通过Rowkey在上述初始子列元数据映射表中进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Hbase的元数据信息管理方法,其特征在于,包括:在Apache

Hbase存储系统下新增RecordServer接口服务,构建初始子列元数据映射表;通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给所述RecordServer接口服务;RecordServer接口服务解析WALEdits对象,将本次数据写入的目标表通过Rowkey在所述初始子列元数据映射表中进行查询,若查询不到,则创建一张空表;反之,则读取并返回该目标表对应的ColumnFamilyInfoMap字段的数据;遍历WALEdits中的对象信息,在内存中将查询到的CoulumFamilyInfoMap数据进行合并、更新;当内存中对象信息达到设定阈值后,根据对象内容生成Hql查询语句,并更新所述初始子列元数据映射表中的初始数据,得到最终的子列元数据映射表。2.如权利要求1所述的一种基于Hbase的元数据信息管理方法,其特征在于,所述初始子列元数据映射表包括NameSpace、Tablename、Rowkey、ColumnFamily和ColumnQualifer。3.如权利要求1所述的一种基于Hbase的元数据信息管理方法,其特征在于,所述通过RegionServer将本次数据写入过程中产生的WALEdits对象信息发送给所述RecordServer接口服务的步骤包括:响应于客户端发起的数据写入请求,并在数据写入成功后,检查写入的目标表是否在预置的监控表单中,若是,则将本次数据写入过程中产生的WALEdits对象信息发送给所述RecordServer接口服务;若否,则结束退出。4.如权利要求1所述的一种基于Hbase的元数据信息管理方法,其特征在于,所述当内存中对象信息达到设定阈值后,根据对象内容生成Hql查询语句,并更新所述初始子列元数据映射表中的初始数据,得到最终的子列元数据映射表的步骤包括:当元数据对象达到设定阈值后,将内存中的数据刷写到HDFS;每隔设定的时间,将去重后所有rowkey的列簇、子列信息进行汇总,并将汇总的数据...

【专利技术属性】
技术研发人员:周兵张兴
申请(专利权)人:天翼电子商务有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1