一种HBase可视化编程方法、系统、设备及存储介质与流程

阅读: 评论:0


一种hbase可视化编程方法、系统、设备及存储介质
技术领域
1.本发明实施例涉及hbase技术领域,具体涉及一种hbase可视化编程方法、系统、设备及存储介质。


背景技术:



2.随着网络信息技术的发展,各行各业正面临数据快速增长的情况,而hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,它不同于一般的关系型数据库,它是一个适合于非结构化数据存储的数据库。而另一个不同的是hbase是根据列簇来存储数据的。所以,企业几乎都会选择hbase来实现海量数据的快速存储和随机访问。而要使用hbase就要求工程师要懂hbase语言(如ddl定义语言、dml操作语言等),这无疑增加了学习成本,同时,降低了问题处理效率。
3.通过对整个数据处理及使用的流程发现,现有的优化基本聚焦于对数据处理的层面,在大数据开发过程中,更关注大数据技术的应用、关注数据处理效率等,而忽略了整个过程中主角即大数据工程师应用技术时会面临的问题,大数据工程师在日常工作中经常会对数据库进行一些重复性的常规操作,整个流程来说无疑是繁琐低效的。


技术实现要素:



4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种hbase可视化编程方法、系统、设备及存储介质,用于解决现有技术中大数据工程师在日常工作中经常会对数据库进行一些重复性的常规操作,使得工作中涉及的整个流程繁琐低效的问题。
5.本发明实施例提供一种hbase可视化编程方法,所述方法包括:
6.s1、界面程序通过第一应用程序接口(api)连接分布式应用程序协调服务(zookeeper)组件的集服务器,以查询元数据所在的分布式面向列的开源数据库(hbase)的集服务器;
7.s2、所述zookeeper组件的集服务器将所述元数据所在的所述hbase的集服务器的信息通过所述第一api返回至所述界面程序;
8.s3、所述界面程序通过所述第一api连接至所述hbase的集服务器中所述元数据所在的区域服务(hregionserver)组件,所述界面程序通过所述第一api调用所述hregionserver组件对所述元数据执行读写操作。
9.于本发明的一实施例中,在所述s1步骤执行前设置有数据库连接步骤,所述数据库连接步骤包括:
10.在所述界面程序中点击新增数据库按钮,所述界面程序调用所述第一api连接所述hbase的集服务器;
11.所述界面程序展示所述hbase信息录入界面的弹窗,并在所述信息录入界面中输入连接所述hbase的网络互联协议(ip)和端口(port)信息;
12.点击所述信息录入界面的确定按钮,所述界面程序调用所述第一api获取所述
hbase的网络互联协议(ip)和端口(port)信息,以获取所述hbase的信息及所有表信息,并传输显示于所述界面程序中;
13.所述界面程序在左侧展示所述hbase的数据库名及所有表名信息。
14.于本发明的一实施例中,所述s1步骤中,所述第一api通过所述界面程序调用其程序语言的三方包,包括gui工具包接口以及与所述hbase进行交互的接口库,以编译所述第一api,使所述第一api在所述界面程序与所述zookeeper组件的集服务器间建立连接。
15.于本发明的一实施例中,所述s2步骤中,所述zookeeper组件中创建有每一个所述hregionserver组件的临时节点(ephemeral node),所述hbase的中央节点(hmaster)通过监控所述ephemeral node的状态来发现正常工作的或发生故障下线的hregionserver,以供所述zookeeper组件返回查询的所述元数据在所述hregionserver组件中的信息。
16.于本发明的一实施例中,所述s3步骤中对所述元数据执行读写操作包括:
17.通过所述界面程序调用第二api,对所述hbase执行数据库表、字段、值的展示操作;
18.通过所述界面程序调用第三api,对所述hbase执行单次或批量增加列值的操作;
19.通过所述界面程序调用第四api,对所述hbase执行单次删除指定列或指定所述元数据的唯一标识行记录(rowkey)的操作;
20.通过所述界面程序调用第五api,对所述hbase执行列值单次修改操作。
21.于本发明的一实施例中,所述s3步骤中,所述第二api为查询api封装,调用所述查询api封装的步骤包括:
22.在所述界面程序上的查询窗口输入需查询的rowkey,并点击所述界面程序上的查询按钮;
23.所述界面程序调用所述查询api封装获取所述hbase中所述rowkey对应的所述元数据;
24.将所述元数据展示在所述界面程序上。
25.于本发明的一实施例中,所述s3步骤中,所述第三api为写入api封装,调用所述写入api封装的步骤包括:
26.在所述界面程序中点击新增按钮,所述界面程序调用所述写入api封装展示新增数据录入界面;
27.所述新增数据录入界面弹框显示于所述界面程序中,并在所述新增数据录入界面内填写需要新增所述元数据的row key、列簇、列名和列值;
28.若需要添加多个所述元数据的值,则点击所述新增数据录入界面中的继续增加按钮;
29.在完成增加所述元数据对应row key数据值的数据后,点击所述新增数据录入界面中的提交按钮,所述界面程序调用所述写入api封装向所述hbase中写入所述元数据。
30.于本发明的一实施例中,所述s3步骤中,所述第四api为删除api封装,调用所述删除api封装的步骤包括:
31.在所述界面程序中选择需删除所述元数据对应所述hbase数据库中的某个表,按照所述元数据的row key进行检索;
32.将检索到的所述元数据的rowkey展示于所述界面程序中,接着在所述界面程序中
点击所述元数据的rowkey对应的删除按钮,然后在所述界面程序中弹框提示确认删除所述元数据;
33.所述界面程序调用所述删除api封装,并在所述界面程序与所述hbase间删除所述元数据的所述第一api。
34.于本发明的一实施例中,所述s3步骤中,所述第五api为修改api封装,调用所述修改api封装的步骤包括:
35.在所述界面程序中选择需修改所述元数据对应所述hbase数据库中的某个表,按照所述元数据的row key进行检索;
36.将检索到的所述元数据的rowkey展示于所述界面程序中,接着在所述界面程序中点击所述元数据的rowkey对应的修改按钮,然后所述界面程序调用所述修改api封装展示修改数据录入界面;
37.所述修改数据录入界面弹框显示于所述界面程序中,并在所述修改数据录入界面修改所述元数据的row key、列簇、列名和列值;
38.在完成修改所述元数据对应row key数据值的数据后,点击所述修改数据录入界面中的提交按钮,所述界面程序调用所述修改api封装向所述hbase中新增所述元数据。
39.于本发明的一实施例中,所述s3步骤中,在所述界面程序调用所述写入/修改api封装向所述hbase中新增所述元数据后,所述界面程序自动查询新增rowkey对应的所述元数据,通过所述界面程序调用所述第一api获取所述元数据的rowkey,将所述元数据rowkey的行(row)信息展示在所述界面程序中。
40.于本发明的一实施例中,所述s3步骤中,在点击所述新增/修改数据录入界面中的提交按钮后;
41.所述界面程序调用所述写入/修改api封装连接至所述hbase中,对填写的row key、列簇、列名做参数值校验;
42.若校验失败,显示错误提示,并需重新填写所述新增/修改数据录入界面中的数据;
43.若校验成功,显示对号提示,所述界面程序调用所述写入/修改api封装向所述hbase中新增所述元数据。
44.于本发明的一实施例中,在后续读写操作过程中,所述界面程序通过rowkey查询所述元数据对应的hregionserver组件的位置,然后通过所述第一api连接所述hregionserver组件执行后续读写操作。
45.本发明还提供一种hbase可视化编程系统,包括:
46.界面程序,其获取用户的指令操作信息,并完成所述指令操作信息的数据输入和数据输出功能;
47.应用程序接口(api),其传输所述指令操作信息的数据;
48.分布式面向列的开源数据库(hbase),其接收所述api传输的所述指令操作信息,并通过所述api与所述界面程序进行数据交互。
49.于本发明的一实施例中,所述界面程序包括:
50.hbase的数据库列表,其在所述界面程序上展示可供用户执行所述指令操作信息的所述hbase;
51.查询组件,其在所述界面程序上提供可供用户执行所述指令操作信息的数据输入功能;
52.操作按钮,其在所述界面程序上提供可供用户执行所述指令操作信息的选项;以及
53.信息展示区,其在所述界面程序上提供可供用户执行所述指令操作信息的数据输出功能。
54.于本发明的一实施例中,所述api包括:
55.第一api,所述第一api分别连接所述界面程序与所述hbase的分布式应用程序协调服务(zookeeper)组件和区域服务(hregionserver)组件;以及
56.第二api、第三api、第四api和第五api,所述第二api、第三api、第四api和第五api分别提供所述界面程序对所述hbase执行查询、写入、删除、修改操作的api封装。
57.于本发明的一实施例中,所述hbase包括:
58.zookeeper组件,所述zookeeper组件的集服务器负责维护所述hbase的集服务器的状态,并确认所述hbase服务器是否在线,执行所述hbase的元数据在服务器间的同步操作。
59.hregionserver组件,所述hregionserver组件负责所述元数据的读写操作,所述用户通过所述界面程序与所述hregionserver组件交互来实现对所述元数据的访问。
60.本发明进一步提供一种电子设备,包括:
61.存储器以及处理器,所述存储器中存储有至少一个程序,所述至少一个程序由所述处理器加载并执行,以实现权利要求1至12中任一项所述的方法。
62.本发明还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至12中任一项所述的方法。
63.本发明的有益效果:在大数据工程师对hbase数据进行作业时,无需掌握hbase语言,直接通过本实施例的hbase可视化的界面程序进行处理操作。精简了大数据处理流程中大数据工程师会面临的繁琐步骤,继而优化数据处理流程,进而提高大数据开发工程师开发效率。
64.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
65.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
66.图1是本发明的hbase可视化编程方法的流程图;
67.图2是本发明的hbase可视化编程方法执行数据库连接步骤的流程图;
68.图3是本发明的hbase可视化编程方法执行查询步骤的流程图;
69.图4是本发明的hbase可视化编程方法执行写入步骤的流程图;
70.图5是本发明的hbase可视化编程方法执行删除步骤的流程图;
71.图6是本发明的hbase可视化编程方法执行修改步骤的流程图;
72.图7是本发明的hbase可视化编程系统的工作原理示意图;
73.图8是本发明的hbase可视化编程系统连接数据库的系统架构图;
74.图9是本发明的hbase可视化编程系统执行查询操作的界面程序示意图;
75.图10是本发明的hbase可视化编程系统执行写入操作的界面程序示意图;
76.图11是本发明的hbase可视化编程系统执行删除操作的界面程序示意图;
77.图12是本发明的hbase可视化编程系统执行修改操作的界面程序示意图;
78.图13是本发明以python语言编译界面程序对hbase可视化编程系统执行数据库连接操作时的代码执行示意图;
79.图14是本发明以python语言编译界面程序对hbase可视化编程系统执行查询操作时的代码执行示意图;
80.图15是本发明以python语言编译界面程序对hbase可视化编程系统执行写入操作时的代码执行示意图;
81.图16是本发明以python语言编译界面程序对hbase可视化编程系统执行删除操作时的代码执行示意图;
82.图17是本发明以python语言编译界面程序对hbase可视化编程系统执行修改操作时的代码执行示意图;
具体实施方式
83.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。下列实施例中未注明具体条件的试验方法,通常按照常规条件,或者按照各制造商所建议的条件。
84.请参阅图1至图17。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
85.分布式面向列的开源数据库(hbase)由区域服务(hregionserver)、分布式面向列的开源数据库主/从集架构中的中央节点(hbase hmaster)和分布式应用程序协调服务(zookeeper)三种类型的服务器以主从模式的组件构成。其中region server负责数据的读写服务,用户通过与region server交互来实现对数据的访问。hbase hmaster负责region的分配及数据库的创建和删除等操作。zookeeper负责维护集的状态(某台服务器是否在线,服务器之间数据的同步操作及master的选举等)。大数据工程师需掌握ddl数据库定义
和dml数据操作语言以对hbase进行处理,增加了学习成本,同时大数据工程师在日常工作中经常会对数据库进行一些重复性的常规操作,整个流程繁琐低效。
86.需要说明的是,在下列实施例中的hregionserver与region server表示为相同的组件功能含义。原生的tkinter api指python三方包中tkinter api的原始内容,封装的tkinter api指python三方包中的tkinter api关联第二api、第三api、第四api和第五api中的查询、写入、删除和修改封装
87.请参阅图1,本发明提供一种hbase可视化编程方法,方法包括:
88.s1、界面程序1通过第一应用程序接口(api2)连接分布式应用程序协调服务(zookeeper)组件的集服务器,以查询元数据所在的分布式面向列的开源数据库(hbase)3的集服务器;
89.s2、zookeeper组件31的集服务器将元数据所在的hbase3的集服务器的信息通过第一api21返回至界面程序1;和
90.s3、界面程序1通过第一api21连接至hbase3的集服务器中元数据所在的区域服务(hregionserver)组件,界面程序1通过第一api21调用hregionserver组件32对元数据执行读写操作。
91.大数据工程师通过可视化的界面程序1对hbase3中的元数据执行读写操作,替代需掌握hbase3的ddl定义语言及dml操作语言的技能要求。并通过可视化的界面程序1,将hbase3的编程过程转变为在界面程序1上的操作,优化hbase3编程时所需重复性常规操作的流程,增加大数据工程师的工作效率。
92.在一实施例中,请参阅图2、8、13,在s1步骤执行前设置有数据库连接步骤,数据库连接步骤包括:
93.在界面程序1中点击新增数据库按钮,界面程序1调用第一api21连接hbase3的集服务器;
94.界面程序1展示hbase3信息录入界面的弹窗,并在信息录入界面中输入连接hbase3的网络互联协议(ip)和端口(port)信息;
95.点击信息录入界面的确定按钮,界面程序1调用第一api21获取hbase3的网络互联协议(ip)和端口(port)信息,以获取hbase3的信息及所有表信息,并传输显示于界面程序1中;
96.界面程序1在左侧展示hbase3的数据库名及所有表名信息。
97.可视化的界面程序1通过第一api21与hbase3及其zookeeper组件31和hregionserver组件32建立连接。在此过程中,界面程序1的代码调用原生的tkinter api2获取数据库录入界面中输入的ip及port数据。然后界面程序1的代码调用封装的hbase3的第一api21获取连接信息及所有表信息,接着界面程序1的代码调用封装的tkinter api2在界面程序1的数据库展示界面中展示ip及port信息结果对应的数据。
98.在一实施例中,s1步骤中,第一api21通过界面程序1调用其程序语言的三方包,包括gui工具包接口以及与hbase3进行交互的接口库,以编译第一api21,使第一api21在界面程序1与zookeeper组件31的集服务器间建立连接。
99.在本实施例中,例如采用python语言编译界面程序1,其主要涉及python三方包的使用,包括gui工具包的接口(tkinter)、与hbase3进行交互的python接口库(happybase)。
通过pytho编译的界面程序1的代码调用封装的tkinter api2展示数据库录入界面,并调用tkinter在界面程序1中生成数据库展示界面。
100.在一实施例中,s2步骤中,zookeeper组件中创建有每一个hregionserver组件32的临时节点(ephemeral node),hbase3的中央节点(hmaster)通过监控ephemeral node的状态来发现正常工作的或发生故障下线的hregionserver,以供zookeeper组件返回查询的元数据在hregionserver组件32中的信息。
101.hbase3的hmaster之间通过互相竞争创建ephemeral node进行master选举。zookeeper会选出区中第一个创建成功的作为唯一一个活跃的hmaster。活跃的hmaster向zookeeper发送心跳信息(heartbeat message)来表明自己在线的状态。不活跃的hmaster则监听活跃hmaster的状态,并在活跃hmaster发生故障下线之后重新选举,从而实现了hbase3的高可用性。
102.若region server或者hmaster不能成功向zookeeper发送心跳信息,则其与zookeeper的连接超时之后与之相应的ephemeral node就会被删除。监听zookeeper状态的其他节点就会得到相应node不存在的信息,从而进行相应的处理。活跃的hmaster监听region server的信息,并在其下线后重新分配region server来恢复相应的服务。不活跃的hmaster监听活跃hmaster的信息,并在其下线后重新选出活跃的hmaster进行服务。以维持第一api21在hbase3与界面程序1间的连接稳定。
103.在一实施例中,s3步骤中对元数据执行读写操作包括:
104.通过界面程序1调用第二api22,对hbase3执行数据库表、字段、值的展示操作;
105.通过界面程序1调用第三api23,对hbase3执行单次或批量增加列值的操作;
106.通过界面程序1调用第四api24,对hbase3执行单次删除指定列或指定元数据的唯一标识行记录(rowkey)的操作;
107.通过界面程序1调用第五api25,对hbase3执行列值单次修改操作。
108.在本实施例中,对hbase3执行的读写操作包括查询、增加、删减和修改,第一api21在建立界面程序1与hbase3及其zookeeper组件31和hregionserver组件32的连接后。再分别通过完成封装的第二api22、第三api23、第四api24和第五api25执行相应具体的读写操作,降低单个api2的封装难度及内容,以提升界面程序1调用对应封装api2的处理速度。
109.在一实施例中,请参阅图3、7、14,s3步骤中,第二api22为查询api2封装,调用查询api2封装执行查询操作的查询步骤包括:
110.在界面程序1上的查询窗口输入需查询的rowkey,并点击界面程序1上的查询按钮;
111.界面程序1调用查询api2封装获取hbase3中rowkey对应的元数据;
112.将元数据展示在界面程序1上。
113.编译界面程序1的python代码调用原生的tkinter api2获取查询窗口中输入rowkey信息,接着界面程序1的代码调用封装的hbase3第二api22获取该rowkey信息对应的元数据。其中首先获取指定rowkey的row信息,在查询对应元数据在hregionserver中的位置,最后再次通过界面程序1的代码调用封装tkinter api2展示查询结果对应的元数据并进行展示。
114.在一实施例中,请参阅图4、10、15,s3步骤中,第三api23为写入api2封装,调用写
api2获取输入的rowkey及列簇、列名、列值数据,接着通过调用封装的hbase3第五api25进行元数据的新增写入。其中新增写入的元数据覆盖在待修改元数据的hregionserver中。
131.在一实施例中,s3步骤中,在界面程序1调用写入/修改api2封装向hbase3中新增元数据后,界面程序1自动查询新增rowkey对应的元数据,通过界面程序1调用第一api21获取元数据的rowkey,将元数据rowkey的行(row)信息展示在界面程序1中。
132.编译界面程序1的python代码调用封装的hbase3第三/第五api25获取该rowkey对应的row数据。接着调用封装的tkinter api2在界面程序1中展示结果对应的数据,以在界面程序1中对执行写入/修改的结果进行显示,以供大数据工程师进行检查判断。
133.在一实施例中,s3步骤中,在点击新增/修改数据录入界面中的提交按钮后;
134.界面程序1调用写入/修改api2封装连接至hbase3中,对填写的row key、列簇、列名做参数值校验;
135.若校验失败,显示错误提示,并需重新填写新增/修改数据录入界面中的数据;
136.若校验成功,显示对号提示,界面程序1调用写入/修改api2封装向hbase3中新增元数据。
137.在本实施例中,对hbase3中的元数据进行新增或修改操作时,填写元数据的信息包括rowkey、列簇以及列名,且hbase3中及hregionserver组件32中包括有大量元数据的数据表,使得大数据工程师在处理过程中易产生错误,因此通过参数值校验及时验证在hbase3中进行元数据读写的正确性,确保通过界面程序1对hbase3执行元数据操作的顺畅性。
138.在一实施例中,在后续读写操作过程中,界面程序1通过rowkey查询元数据对应的hregionserver组件32的位置,然后通过第一api21连接hregionserver组件32执行后续读写操作。
139.在对同个hregionserver中的元数据进行操作时,利用前述已通过zookeeper组件31建立对应元数据查询的结果,直接经第一api21将界面程序1中读写操作指令的信息发送至对应hregionserver的元数据中,优化对hbase可视化编程过程中界面程序1的执行流程。
140.请参阅图7,本发明还提供一种hbase可视化编程系统,包括界面程序1、应用程序接口(api2)以及分布式面向列的开源数据库(hbase)3。其中界面程序1获取用户的指令操作信息,并完成指令操作信息的数据输入和数据输出功能;其中api2传输指令操作信息的数据;其中hbase3接收api2传输的指令操作信息,并通过api2与界面程序1进行数据交互。
141.界面程序1包括hbase3的数据库列表11、查询组件12、操作按钮13以及信息展示区14。其中数据库列表在界面程序1上展示可供用户执行指令操作信息的hbase3;其中查询组件12在界面程序1上提供可供用户执行指令操作信息的数据输入功能;其中操作按钮13在界面程序1上提供可供用户执行指令操作信息的选项;其中信息展示区14在界面程序1上提供可供用户执行指令操作信息的数据输出功能。
142.api2包括:第一api21、第二api22、第三api23、第四api24和第五api25。其中第一api21分别连接界面程序1与hbase3的分布式应用程序协调服务(zookeeper)组件和区域服务(hregionserver)组件;其中第二api22、第三api23、第四api24和第五api25分别提供界面程序1对hbase3执行查询、写入、删除、修改操作的api2封装。
143.hbase3包括zookeeper组件31以及hregionserver组件32。其中zookeeper组件31
的集服务器负责维护hbase3的集服务器的状态,并确认hbase3服务器是否在线,执行hbase3的元数据在服务器间的同步操作。其中hregionserver组件32负责元数据的读写操作,用户通过界面程序1与hregionserver组件32交互来实现对元数据的访问。
144.在本实施例中,hbase可视化编程系统通过提供基于python编译的界面程序1,其主要涉及python三方包的使用,包括gui工具包的接口(tkinter)、与hbase3进行交互的python接口库(happybase)。通过pytho编译的界面程序1的代码调用封装的tkinter api2展示数据库录入界面,并调用tkinter在界面程序1中生成数据库展示界面,实现界面程序1与hbase3间的数据读写操作。
145.界面程序1中布置的各操作部分,包括数据库列表的展示,查询组件12的设置,操作按钮13及功能的设定以及信息展示区14中的内容。都是为了满足执行对hbase3进行可视化操作的目的来设置的,因此上述功能区的布置形式与执行逻辑并不限制于所述的形式。
146.在hbase3架构中提到的zookeeper组件31和hregionserver组件32,仅对有关影响hbase3中元数据读写操作过程的内容进行了描述,因此有关hbase3架构的组成内容不仅限于本实施例中提到的部分,例如组成hbase3架构中的hmaster组件,其与zookeeper组件31和hregionserver组件32配合实现hbase3的功能,但对hbase3中元数据的读写操作不造成直接影响,在此不作叙述。
147.本发明进一步提供一种电子设备,包括:
148.存储器以及处理器,存储器中存储有至少一个程序,至少一个程序由处理器加载并执行,以执行如前所述hbase可视化编程方法。
149.图8示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。需要说明的是,图8示出的电子设备的计算机系统仅是一个示例,不应对本发明实施例的功能和适用范围带来任何限制。
150.如图7所示,计算机系统包括中央处理单元(cpu),其可以根据存储在只读存储器(rom)中的程序或者从储存部分加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram中,还存储有系统操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。
151.以下部件连接至i/o接口:包括键盘、鼠标等的输入部分;包括诸如显示器等以及扬声器等的输出部分。通过输入部分对界面程序1上的操作按钮13进行操作,通过显示器展示界面程序1的可视化内容,以供大数据工程师进行hbase3的可视化操作。
152.本发明还提供一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如前所述的hbase可视化编程的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
153.本发明还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的hbase可视化编程方法。
154.综上,本发明实施例提供的hbase可视化编程方法、系统,设备及存储介质,通过程序语言编译的界面程序1以及api2与hbase3进行数据交互,替代大数据工程师使用hbase3
需要懂hbase3语言(如ddl定义语言、dml操作语言等)的技能要求,并优化了对数据库进行重复性的常规操作流程,从而提高大数据开发工程师开发效率。
155.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

技术特征:


1.一种hbase可视化编程方法,其特征在于,所述方法包括:s1、界面程序(1)通过第一应用程序接口api(2)连接分布式应用程序协调服务(zookeeper)组件(31)的集服务器,以查询元数据所在的分布式面向列的开源数据库hbase(3)的集服务器;s2、所述zookeeper组件(31)的集服务器将所述元数据所在的所述hbase(3)的集服务器的信息通过所述第一api(21)返回至所述界面程序(1);s3、所述界面程序(1)通过所述第一api(21)连接至所述hbase(3)的集服务器中所述元数据所在的区域服务(hregionserver)组件(32),所述界面程序(1)通过所述第一api(21)调用所述hregionserver组件(32)对所述元数据执行读写操作。2.根据权利要求1所述的方法,其特征在于,在所述s1步骤执行前设置有数据库连接步骤,所述数据库连接步骤包括:在所述界面程序(1)中点击新增数据库按钮,所述界面程序(1)调用所述第一api(21)连接所述hbase(3)的集服务器;所述界面程序(1)展示所述hbase(3)信息录入界面的弹窗,并在所述信息录入界面中输入连接所述hbase(3)的网络互联协议(ip)和端口(port)信息;点击所述信息录入界面的确定按钮,所述界面程序(1)调用所述第一api(21)获取所述hbase(3)的网络互联协议(ip)和端口(port)信息,以获取所述hbase(3)的信息及所有表信息,并传输显示于所述界面程序(1)中;所述界面程序(1)在左侧展示所述hbase(3)的数据库名及所有表名信息。3.根据权利要求1中任一所述的方法,其特征在于,所述s1步骤中,所述第一api(21)通过所述界面程序(1)调用其程序语言的三方包,包括gui工具包接口以及与所述hbase(3)进行交互的接口库,以编译所述第一api(21),使所述第一api(21)在所述界面程序(1)与所述zookeeper组件(31)的集服务器间建立连接。4.根据权利要求1中任一所述的方法,其特征在于,所述s2步骤中,所述zookeeper组件中创建有每一个所述hregionserver组件(32)的临时节点(ephemeral node),所述hbase(3)的中央节点(hmaster)通过监控所述ephemeral node的状态来发现正常工作的或发生故障下线的hregionserver,以供所述zookeeper组件返回查询的所述元数据在所述hregionserver组件(32)中的信息。5.根据权利要求1中任一所述的方法,其特征在于,所述s3步骤中对所述元数据执行读写操作包括:通过所述界面程序(1)调用第二api(22),对所述hbase(3)执行数据库表、字段、值的展示操作;通过所述界面程序(1)调用第三api(23),对所述hbase(3)执行单次或批量增加列值的操作;通过所述界面程序(1)调用第四api(24),对所述hbase(3)执行单次删除指定列或指定所述元数据的唯一标识行记录(rowkey)的操作;通过所述界面程序(1)调用第五api(25),对所述hbase(3)执行列值单次修改操作。6.根据权利要求5所述的方法,其特征在于,所述s3步骤中,所述第二api(22)为查询api(2)封装,调用所述查询api(2)封装的步骤包括:
在所述界面程序(1)上的查询窗口输入需查询的rowkey,并点击所述界面程序(1)上的查询按钮;所述界面程序(1)调用所述查询api(2)封装获取所述hbase(3)中所述rowkey对应的所述元数据;在所述界面程序(1)上展示rowkey对应的所述元数据。7.根据权利要求5所述的方法,其特征在于,所述s3步骤中,所述第三api(23)为写入api(2)封装,调用所述写入api(2)封装的步骤包括:在所述界面程序(1)中点击新增按钮,所述界面程序(1)调用所述写入api(2)封装展示新增数据录入界面;所述新增数据录入界面弹框显示于所述界面程序(1)中,并在所述新增数据录入界面内填写需要新增所述元数据的row key、列簇、列名和列值;若需要添加多个所述元数据的值,则点击所述新增数据录入界面中的继续增加按钮;在完成增加所述元数据对应row key数据值的数据后,点击所述新增数据录入界面中的提交按钮,所述界面程序(1)调用所述写入api(2)封装向所述hbase(3)中写入所述元数据。8.根据权利要求5所述的方法,其特征在于,所述s3步骤中,所述第四api(24)为删除api(2)封装,调用所述删除api(2)封装的步骤包括:在所述界面程序(1)中选择需删除所述元数据对应所述hbase(3)数据库中的某个表,按照所述元数据的row key进行检索;将检索到的所述元数据的rowkey展示于所述界面程序(1)中,接着在所述界面程序(1)中点击所述元数据的rowkey对应的删除按钮,然后在所述界面程序(1)中弹框提示确认删除所述元数据;所述界面程序(1)调用所述删除api(2)封装,并在所述界面程序(1)与所述hbase(3)间删除所述元数据的所述第一api(21)。9.根据权利要求5所述的方法,其特征在于,所述s3步骤中,所述第五api(25)为修改api(2)封装,调用所述修改api(2)封装的步骤包括:在所述界面程序(1)中选择需修改所述元数据对应所述hbase(3)数据库中的某个表,按照所述元数据的row key进行检索;将检索到的所述元数据的rowkey展示于所述界面程序(1)中,接着在所述界面程序(1)中点击所述元数据的rowkey对应的修改按钮,然后所述界面程序(1)调用所述修改api(2)封装展示修改数据录入界面;所述修改数据录入界面弹框显示于所述界面程序(1)中,并在所述修改数据录入界面修改所述元数据的row key、列簇、列名和列值;在完成修改所述元数据对应row key数据值的数据后,点击所述修改数据录入界面中的提交按钮,所述界面程序(1)调用所述修改api(2)封装向所述hbase(3)中新增所述元数据。10.根据权利要求7或9中任一项所述的方法,其特征在于,所述s3步骤中,在所述界面程序(1)调用所述写入/修改api(2)封装向所述hbase(3)中新增所述元数据后,所述界面程序(1)自动查询新增rowkey对应的所述元数据,通过所述界面程序(1)调用所述第一api
(21)获取所述元数据的rowkey,将所述元数据rowkey的行(row)信息展示在所述界面程序(1)中。11.根据权利要求7或9中任一项所述的方法,其特征在于,所述s3步骤中,在点击所述新增/修改数据录入界面中的提交按钮后;所述界面程序(1)调用所述写入/修改api(2)封装连接至所述hbase(3)中,对填写的row key、列簇、列名做参数值校验;若校验失败,显示错误提示,并需重新填写所述新增/修改数据录入界面中的数据;若校验成功,显示对号提示,所述界面程序(1)调用所述写入/修改api(2)封装向所述hbase(3)中新增所述元数据。12.根据权利要求1所述的方法,其特征在于,所述s3步骤执行完成后,在后续读写操作过程中,所述界面程序(1)通过rowkey查询所述元数据对应的hregionserver组件(32)的位置,然后通过所述第一api(21)连接所述hregionserver组件(32)执行后续读写操作。13.一种hbase可视化编程系统,其特征在于,包括:界面程序(1),其获取用户的指令操作信息,并完成所述指令操作信息的数据输入和数据输出功能;应用程序接口api(2),其传输所述指令操作信息的数据;分布式面向列的开源数据库hbase(3),其接收所述api(2)传输的所述指令操作信息,并通过所述api(2)与所述界面程序(1)进行数据交互。14.根据权利要求13所述的系统,其特征在于,所述界面程序(1)包括:hbase(3)的数据库列表(11),其在所述界面程序(1)上展示可供用户执行所述指令操作信息的所述hbase(3);查询组件(12),其在所述界面程序(1)上提供可供用户执行所述指令操作信息的数据输入功能;操作按钮(13),其在所述界面程序(1)上提供可供用户执行所述指令操作信息的选项;以及信息展示区(14),其在所述界面程序(1)上提供可供用户执行所述指令操作信息的数据输出功能。15.根据权利要求13所述的系统,其特征在于,所述api(2)包括:第一api(21),所述第一api(21)分别连接所述界面程序(1)与所述hbase(3)的分布式应用程序协调服务(zookeeper)组件和区域服务(hregionserver)组件;以及第二api(22)、第三api(23)、第四api(24)和第五api(25),所述第二api(22)、第三api(23)、第四api(24)和第五api(25)分别提供所述界面程序(1)对所述hbase(3)执行查询、写入、删除、修改操作的api(2)封装。16.根据权利要求13所述的系统,其特征在于,所述hbase(3)包括:zookeeper组件(31),所述zookeeper组件(31)的集服务器负责维护所述hbase(3)的集服务器的状态,并确认所述hbase(3)服务器是否在线,执行所述hbase(3)的元数据在服务器间的同步操作。hregionserver组件(32),所述hregionserver组件(32)负责所述元数据的读写操作,所述用户通过所述界面程序(1)与所述hregionserver组件(32)交互来实现对所述元数据
的访问。17.一种电子设备,其特征在于,包括:存储器以及处理器,所述存储器中存储有至少一个程序,所述至少一个程序由所述处理器加载并执行,以实现权利要求1至12中任一项所述的方法。18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至12中任一项所述的方法。

技术总结


本发明实施例涉及HBase技术领域,具体涉及一种HBase可视化编程方法、系统、设备及存储介质。所述方法包括:采用编译的界面程序通过应用程序接口(API)与分布式面向列的开源数据库(HBase)中的分布式应用程序协调服务(Zookeeper)组件的集服务器连接,查询元数据所在区域服务(HRegionServer)组件中的位置,并通过界面程序经API调用HRegionServer组件对所述元数据执行读写操作。本发明方案中,在大数据工程师对HBase数据进行作业时,无需掌握HBase语言,直接通过本实施例的HBase可视化的界面程序进行处理操作。精简了大数据处理流程中大数据工程师会面临的繁琐步骤,继而优化数据处理流程,进而提高大数据开发工程师开发效率。发效率。发效率。


技术研发人员:

王瑜 郝金隆 龙美元 戴娇

受保护的技术使用者:

重庆长安汽车股份有限公司

技术研发日:

2022.11.28

技术公布日:

2023/3/24

本文发布于:2023-03-26 21:00:41,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/80339.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   界面   程序   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图