基于HBase的数据查询方法、装置和计算机设备与流程

文档序号:29041590发布日期:2022-02-25 20:53阅读:108来源:国知局
基于HBase的数据查询方法、装置和计算机设备与流程
基于hbase的数据查询方法、装置和计算机设备
技术领域
1.本技术涉及大数据技术领域,特别是涉及一种基于hbase的数据查询方法、装置和计算机设备,还涉及一种计算机可读存储介质。


背景技术:

2.hbase作为大数据领域常用的分布式数据库,支持千亿行、百万列的数据存储,但hbase本身只提供基于行键和全表扫描的查询。多条件组合查询在大数据应用场景中是比较常见的,在涉及多条件组合查询的应用时,单一行键无法满足业务查询需求,通常是通过全表扫描来查询,然而,全表扫描的查询效率低下,无法满足实际需求。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高多条件查询的查询效率的基于hbase的数据查询方法、装置、计算机设备和存储介质。
4.第一方面,本技术提供一种基于hbase的数据查询方法,所述方法包括:通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列;将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键;根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据。
5.在其中一个实施例中,基于hbase的数据查询方法还包括:预先获取目标hbase数据表中需要创建索引的列作为目标列,在es搜索引擎中为所述目标列建立二级索引表。
6.在其中一个实施例中,所述对所述组合查询命令行进行解析,得到组合查询条件的步骤包括:识别所述组合查询命令行中的目标关键字;根据各个所述目标关键字之间的顺序关系对所述目标关键字进行拼接,得到组合查询条件。
7.在其中一个实施例中,所述将所述组合查询条件输出至es搜索引擎的步骤包括:根据所述组合查询条件生成组合查询请求;其中,所述组合查询请求包括所述组合查询条件;向所述es搜索引擎发送所述组合查询请求。
8.在其中一个实施例中,所述根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据的步骤包括:根据所述组合查询命令行的解析结果确定本次数据查询的目标hbase数据表;从所述目标hbase数据表中筛选出所述目标行键对应的所有数据列;从所述所有数据列中提取出所述指定输出列对应的数据作为目标数据。
9.在其中一个实施例中,所述根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据的步骤之后,还包括:根据预先指定的查询类型通过协处理器对所述目标数据进行二次处理后得到最终目标数据;将所述最终目标数据返回至所述用户,并通过分页配置方式进行展示。
10.在其中一个实施例中,所述查询类型包括:排序查询、分组查询或非重复计数查询中的一者或多者。
11.第二方面,本技术还提供一种基于hbase的数据查询装置,所述装置包括:命令行解析模块,用于通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列;目标行键查询模块,用于将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键;目标数据筛选模块,用于根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据。
12.第三方面,本技术还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面所提及的基于hbase的数据查询方法的步骤。
13.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面所提及的基于hbase的数据查询方法的步骤。
14.上述基于hbase的数据查询方法、装置、计算机设备和存储介质,在es搜索引擎中预先为目标数据表的需要创建索引的列创建二级索引表,通过indexer索引器获取用户输入的组合查询命令行并对组合查询命令行进行解析,得到组合查询条件和指定输出列,将组合查询条件输出至es搜索引擎,通过es搜索引擎从预先建立的二级索引表中查询得到符合组合查询条件的目标行键,根据目标行键与指定输出列从目标hbase数据表中筛选出目标数据,从而实现基于hbase数据库的多组合条件的查询,提高多条件组合查询的查询效率,极大丰富了组合查询的使用场景,同时实现了目标行键的指定的一列或多列数据的输出,提高了查询结果的精度,同时避免了输出行键的全部数据列所造成的网络带宽浪费。
附图说明
15.图1为一实施例中的基于hbase的数据查询方法的应用场景示意图;图2为一实施例中的基于hbase的数据查询方法的流程图;图3为一实施例中的基于hbase的数据查询方法的另一流程图;图4为一实施例中的基于hbase的数据查询装置的结构示意图;图5为一个实施例中计算机设备的内部结构图。
具体实施方式
16.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
17.hbase,是一种开源nosql数据库,适合于各种非结构化和半结构化的松散数据的存储和管理,利用hbase数据库技术可在服务器集群上搭建起大规模存储集群,满足大数据的存储需求。hbase数据库中的行键(rowkey)可以唯一标识一行记录。
18.es(elasticsearch)是一个基于lucence构建的开源、分布式restful搜索引擎,支持通过http使用json进行数据索引。
19.在相关技术中,在hbase数据库中查询数据通常采用以下方式:一、通过get方式,指定行键获取唯一一条记录;二、通过scan方式,设置开始行和结束行参数机型指定范围的匹配扫描;三、全表扫描,即直接扫描整张数据表中的所有行记录。在hbase数据查询中,行键是hbase的一级索引,由于hbase本身没有二级索引机制,进行数据查询只能单纯依靠行键。然而,hbase仅仅对行键支持毫秒级的高速检索,单一行键的查询方式难以支持多条件查询,采用全表扫描的方式来进行多条件查询导致数据查询的效率降低。
20.本技术提供的基于hbase的数据查询方法、装置、计算机设备和存储介质,能够满足多条件组合查询,提高数据查询效率,解决现有技术的如上技术问题。
21.为了便于理解本技术方案,首先对本技术实施例所适用的应用环境进行介绍。
22.图1为一实施例中的基于hbase的数据查询方法的应用场景示意图,如图1所示,该应用环境包括终端110、服务器120和es搜索引擎130,服务器120与终端110和es搜索引擎130可以通过网络通信进行交互,例如通过云服务进行相互通信,例如通过包括而不限于tcp、http等各种通信协议进行通信。
23.用户可以登录终端110进行数据查询,终端110可以安装对应的客户端。客户端可以获取用户做出的数据查询操作。在一实施例中,客户端获取用户输入的组合查询命令行做出数据查询操作,可选的,在另一实施例中,用户通过客户端选择进行查询的数据表、输入待查询的字段、指定输出的数据列等内容进行数据查询,客户端根据用户的选择或输入操作生成对应的多条件查询的组合查询命令行。进一步的,客户端对组合查询命令行进行解析,得到组合查询命令的解析结果。在本实施例中,可以利用客户端中的indexer索引器对组合查询命令进行解析。客户端获取到组合查询命令的解析结果,向数据查询服务器发出数据查询请求以按照解析结果进行数据查询;其中解析结果包括组合查询条件等信息。
24.服务器120接收到数据查询请求后,将客户端解析得到的组合查询条件发送至es搜索引擎130以通过es搜索引擎130从预先建立的二级索引表中查询得到符合组合查询条件的目标行键,并将目标行键返回至服务器120。其中,es搜索引擎130预先创建并保存有多个hbase数据表中需要创建索引的一个或多个列对应的二级索引表。
25.服务器120根据返回的目标行键从需要进行数据查询的目标hbase数据表中筛选出目标数据,并将目标数据返回至客户端。客户端接收到目标数据后,通过显示界面向用户展示查询结果。
26.可选的,终端110可以安装有用于接收用户的数据查询操作以进行hbase数据查询的应用程序,其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等计算机设备,服务器120和es搜索引擎130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
27.在本技术方案中,将hbase数据表里的某些列索引到es搜索引擎建立二级索引,通
过基于开源hbase-indexer进行改造得到indexer索引器,通过indexer索引器获取用户输入的组合查询命令行,对组合查询命令行继续解析得到用户所要求查询的由多个查询条件组合得到的组合查询条件,并将该组合查询条件传输至es搜索引擎查询出符合该组合查询条件的所有行键作为目标行键,根据目标行键从需要进行数据查询的目标hbase数据库中查询得到指定输出列对应的数据,本技术方案提升hbase二级索引的效率,满足全文索引场景,对于hbase组合查询场景,能够实现行式索引的“或”或者是列式索引的“与”查询。另外,通常情况下,通过行键查询得到的数据为行键对应的所有数据列的数据,由于在实际应用中,一般仅需要某几列数据,返回所有列数据会造成数据冗余和网络带宽的消耗浪费,本技术方案还能够实现指定输出列对应数据的查询,使得查询结果更加准确,节省了网络带宽。
28.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
29.下面将结合附图,对本技术的实施例进行描述。
30.图2为一实施例中的基于hbase的数据查询方法的流程图,该基于hbase的数据查询方法可以执行于服务端,可选的,在本实施例中,可以由计算机设备来执行。
31.具体的,如图2所示,该基于hbase的数据查询方法可以包括以下步骤:s210、通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列。
32.indexer索引器是一种基于hbase的二级索引工具,是基于hbase-indexer进行改造,相关技术中的hbase-indexer是基于solr搜索引擎进行二级索引查询,本技术实施例提供的indexer索引器基于es搜索引擎建立二级索引查询,利用es搜索引擎对hbase数据库进行实时分布式搜索和分析,能够提高hbase数据库的多条件组合查询的数据查询效率。在本实施例中,indexer索引器用于接收用户输入的组合查询命令行,并对用户输入的组合查询命令行进行解析。
33.在本实施例中,用户通过客户端的显示界面输入查询语句,可选的,显示界面具有查询语句输入窗口,用户可以在该输入窗口输入查询语句,该查询语句可以单条件查询语句,也可以是多条件的组合查询命令行。本实施例以组合查询命令行为例进行说明。当用户输入组合查询命令行后,触发确定指令,将组合查询命令行发送至indexer索引器。其中,组合查询命令行可以包括:组合查询的逻辑运算符、待查询的字段、指定输出列等信息。
34.indexer索引器接收到的用户输入的组合查询命令行,对组合查询命令进行解析以得到组合查询条件和输出的指定输出列对应的列名,该组合查询条件包括与、或、非、与非、或非、异或和同或等至少两个不同的逻辑关系条件、待查询的字段,还可以包括进行数据查询的hbase数据表的表名,还可以包括进行数据查询的查询类型、指定返回数据列等内容。
35.s220、将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键。
36.在本实施例中,将解析得到的组合查询条件输出至es搜索引擎,其中,es搜索引擎中保存有预先建立的二级索引表。
37.在本实施例中,es搜索引擎根据组合查询条件中的待查询字段从预先建立的多个
二级索引表中确定目标二级索引表。进一步的,从目标二级索引表查询出符合组合查询条件的目标行键。目标行键可以是一个或者多个。es搜索引擎筛选出符合组合查询条件的所有目标行键,生成目标行键集合,并将目标行键集合返回。
38.s230、根据所述目标行键与所述指定输出列从目标hbase数据库中筛选出目标数据。
39.预先选择进行数据查询的hbase数据表,可选的,可以通过点击选择hbase数据表,如向用户展示多个hbase数据表,通过点击选择某一hbase数据表作为目标hbase数据表进行数据查询;还可以是通过在组合查询命令行中输入hbase数据表的表名或者存储路径以选择对应的hbase数据表作为目标hbase数据表进行数据查询。
40.当服务器接收es搜索引擎返回的目标行键后,根据目标行键从需要进行数据查询的目标hbase数据库中筛选出符合条件的所有数据列的数据结果。进一步的,根据组合查询命令行解析出来的输出列对应的列名,从所有数据列中获取该列名对应的指定输出列,将该指定输出列中的数据确定为目标数据。
41.本实施例提供的基于hbase的数据查询方法,通过基于hbase-indexer改造得到的indexer索引器获取用户输入的组合查询命令行并进行解析的得到组合查询条件和指定输出列,将组合查询条件输出值es搜索引擎以进行二次索引查询得到符合组合查询条件的目标行键并返回该目标行键,根据目标行键从目标hbase数据库中筛选出指定输出列对应的目标数据,从而实现基于hbase数据库的多组合条件的查询,提高组合查询的查询效率,极大丰富了组合查询的使用场景,同时指定输出列的数据查询提高了查询结果的精度,同时避免了输出行键的全部数据列所造成的宽带浪费。
42.为了更清楚的阐述本技术的技术方案,下面针对基于hbase的数据查询方法的多个步骤的实现方式进行进一步说明。
43.在一实施例中,基于hbase的数据查询方法还可以包括以下步骤:s100、预先获取目标hbase数据表中需要创建索引的列作为目标列,在es搜索引擎中为所述目标列建立二级索引表。
44.在执行步骤s210之前,可以预先获取hbase数据表中需要创建索引的列作为目标列,需要创建索引的列可以是一列,也可以是多列。在es搜索引擎中预先为目标列创建二级索引表。
45.例如,某一hbase数据表包括:姓名、出生日期、性别、入职年份等多列数据,确定“出生日期”所在列为需要创建索引的列,则将该生日日期所对应的列发送至es搜索引擎,以在es搜索引擎中为“出生日期”所对应的列建立二级索引表。
46.可选,当新增hbase数据表,则可以为新增hbase数据表需要创建索引的列作为目标列,在es搜索引擎中新增创建该新增hbase数据表对应的目标列的二级索引表,并进行保存。
47.在一实施例中,步骤s210中的对所述组合查询命令行进行解析,得到组合查询条件,可以包括以下步骤:s2101、识别所述组合查询命令行中的目标关键字。
48.用户输入到indexer索引器中的组合查询命令行,组合查询命令行中包括用户指定的多种查询条件,包括逻辑关系词、待查询字段、指定的查询方式、查询类型、返回数据的
数据格式等信息。
49.在本实施例中,通过识别出组合查询命令中的目标关键字,如“and”、“or”、“not”等关键字,还可以识别出数据表中的一个或多个列的列名称,如“生日日期”“部门id”等,还可以识别出筛选条件,如“小于等于20211011”、“大于等于20210101”等字符。
50.s2102、根据各个所述目标关键字之间的顺序关系对所述目标关键字进行拼接,得到组合查询条件。
51.根据各个目标关键字得到多个查询条件,如“and”、“or”、“not”等,将各个目标关键字对应的查询条件按照在查询命令行中的相对位置关系顺序拼接起来,得到组合查询条件。
52.在一实施例中,步骤s220中的将所述组合查询条件输出至es搜索引擎,可以包括以下步骤:s2201、根据所述组合查询条件生成组合查询请求;其中,所述组合查询请求包括所述组合查询条件。
53.在本实施例中,根据组合查询条件按照预设的格式生成能够被es搜索引擎识别的组合查询请求。其中,组合查询请求中可以通过url形式来表示,组合查询请求中包括有组合查询条件对应的字符串。
54.s2202、向所述es搜索引擎发送所述组合查询请求。
55.生成组合查询请求后,向es搜索引擎发送组合查询请求,以使得es搜索引擎接收到该组合查询请求后,对组合查询请求做出响应。
56.在一实施例中,步骤s230中的根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据,可以包括以下步骤:s2301、根据所述组合查询命令行的解析结果确定本次数据查询的目标hbase数据库。
57.在本实施例中,组合查询命令行中包括有进行本次数据查询的hbase数据表的表名。通过解析组合查询命令,识别出指定位置处,如指定关键字对应位置处的字符确定本次数据查询的hbase数据表的表名,根据表名确定本次数据查询的目标hbase数据库。
58.s2302、从目标hbase数据表中筛选出所述目标行键对应的所有数据列。
59.确定进行数据查询的目标hbase数据表后,从hbase数据库中调取该目标hbase数据表。根据es搜索引擎返回的一个或多个目标行键,从该目标hbase数据表中查询出符合该些目标行键的所有的数据列。
60.s2303、从所述所有数据列中提取出所述指定输出列对应的数据作为目标数据。
61.根据对组合查询命令行进行解析得到的列名,确定需要进行输出的指定列的目标列名。从查询得到的符合该些目标行键的所有的数据列中提取出目标列名对应的数据,作为返回给用户的目标数据。
62.例如,目标行键001对应的数据列包括“姓名”、“性别”、“年龄”等,可以通过在组合查询命令行中指定输出的目标列的列名,如指定输出“姓名”,则提取出该目标行键001中的“姓名”对应的列的数据作为目标数据。
63.可选的,可以将查询得到的目标数据进行封装后返回至客户端,以在客户端的显示界面上向用户进行展示。
64.图3为一实施例中的基于hbase的数据查询方法的另一流程图,如图3所示,在一实施例中,步骤s230中的根据所述目标行键与所述指定输出列从hbase数据表中筛选出目标数据之后,还可以包括以下步骤:s240、根据预先指定的查询类型通过协处理器对所述目标数据进行二次处理后得到最终目标数据。
65.可选的,查询类型可以通过命令行的方式进行指定,可以是在用户输入的组合查询命令行中进行指定,还可以是用户输入另一命令行以指定查询类型对目标数据进行二次处理。
66.在一实施例中,查询类型可以包括:排序查询、分组查询或非重复计数查询等。其中,排序查询是指利用top n算法、orderby算法等实现目标数据的从大到小排序;分组查询是指使用聚合等算法,如group by算法实现目标数据的分组查询;非重复计数查询是指使用distinct函数和count函数实现计算非重复结果的数目。
67.确定预先指定的查询类型,通过协处理器按照该查询类型对查询得到的目标数据进行二次处理,如排序、分组或非重复结果计数后,得到最终目标数据。
68.例如,目标行健包括001、002和003;其中,根据001查询得到的数据为:20210301、根据002查询得到的数据为20210401, 根据003查询得到的数据为20210501。
69.若是根据排序查询进行二次处理,则通过协处理器对上述数据进行从大到小排序,则将上述三个日期进行排序后,将排序后的日期输出。
70.又如,在分组查询进行二次处理,将查询得到的目标行健对应的目标数据进行分组,例如,目标行健对应的目标数据中包括性别为女的目标数据,还包括性别为男的目标数据,则通过协处理器按照分组查询类型将目标数据根据行为进行分组。
71.本实施例通过协处理器对目标数据按照预先指定的查询类型进行二次处理,提高了数据查询的处理效率。此外,在另一实施例中,还可以提供扩展接口,用户可实现自定义协处理器,完成自定义查询类型,以满足用户的查询需求。
72.s250、将所述最终目标数据返回至所述用户,并通过分页配置方式进行展示。
73.确定最后目标数据后,获取分页配置参数,按照分页配置参数逐页向用户返回最终目标数据。可选的,获取分配配置参数中的每页显示数据行数,按照最终目标数据中各个数据的排列顺序在当前显示页上按序展示最终目标数据,例如,分页配置参数中每页显示10条,则获取最终目标数据中的前面10条数据(即第1条至第10条数据)发送到用户,以在当前显示页上展示这前面10条的数据,当接收到用户触发的下一页展示指令后,则向用户返回最终目标数据中的第11条至第20条数据,以供用户查阅。本实施例通过分页配置方式向用户返回最终目标数据,能够降低数据查询的网络带宽压力。
74.以上示例仅用于辅助阐述本公开技术方案,其涉及的图示内容及具体流程不构成对本公开技术方案的使用场景的限定。
75.下面对基于hbase的数据查询装置的相关实施例进行详细阐述。
76.图4为一实施例中的基于hbase的数据查询装置的结构示意图,该基于hbase的数据查询装置可以执行于计算机设备。
77.如图4所示,该基于hbase的数据查询装置200可以包括:命令行解析模块210、目标行键查询模块220和目标数据筛选模块230;
其中,命令行解析模块210,用于通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列;目标行键查询模块220,用于将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键;目标数据筛选模块230,用于根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据。
78.本技术提供的基于hbase的数据查询装置装置,实现了基于hbase数据库的多组合条件的查询,提高组合查询的查询效率,极大丰富了组合查询的使用场景,指定输出列的数据查询提高了查询结果的精度,同时避免了输出行键的全部数据列所造成的宽带浪费。
79.在其中一个实施例中,基于hbase的数据查询装置200还包括:索引表建立模块,用于预先获取目标hbase数据表中需要创建索引的列作为目标列,在es搜索引擎中为所述目标列建立二级索引表。
80.在其中一个实施例中,命令行解析模块210包括:关键字识别单元和组合查询条件得到单元;其中,关键字识别单元,用于识别所述组合查询命令行中的目标关键字;组合查询条件得到单元,用于根据各个所述目标关键字之间的顺序关系对所述目标关键字进行拼接,得到组合查询条件。
81.在其中一个实施例中,所述目标行键查询模块包括:组合查询请求生成单元和组合查询请求发送单元;其中,组合查询请求生成单元,用于根据所述组合查询条件生成组合查询请求;其中,所述组合查询请求包括所述组合查询条件;组合查询请求发送单元,用于向所述es搜索引擎发送所述组合查询请求。
82.在其中一个实施例中,目标数据筛选模块包括:数据表确定单元、数据列筛选单元和目标数据提取单元;其中,数据表确定单元,用于根据所述组合查询命令行的解析结果确定本次数据查询的目标hbase数据表;数据列筛选单元,用于从目标hbase数据表中筛选出所述目标行键对应的所有数据列;目标数据提取单元,用于从所述所有数据列中提取出所述指定输出列对应的数据作为目标数据。
83.在其中一个实施例中,基于hbase的数据查询装置200还包括:最终目标数据得到模块和分页配置展示模块;其中,最终目标数据得到模块,用于根据预先指定的查询类型通过协处理器对所述目标数据进行二次处理后得到最终目标数据;分页配置展示模块,用于将所述最终目标数据返回至所述用户,并通过分页配置方式进行展示。
84.在其中一个实施例中,所述查询类型包括:排序查询、分组查询或非重复计数查询。
85.本实施例的基于hbase的数据查询装置可执行本技术前述实施例所示的基于hbase的数据查询方法,其实现原理相类似,此处不再赘述。
86.上述基于hbase的数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
87.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结
构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于hbase的数据查询方法。
88.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
89.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列;将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键;根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据。
90.在一个实施例中,处理器执行计算机程序时还实现以下步骤:预先获取目标hbase数据表中需要创建索引的列作为目标列,在es搜索引擎中为所述目标列建立二级索引表。
91.在一个实施例中,处理器执行计算机程序时还实现以下步骤:识别所述组合查询命令行中的目标关键字;根据各个所述目标关键字之间的顺序关系对所述目标关键字进行拼接,得到组合查询条件。
92.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述组合查询条件生成组合查询请求;其中,所述组合查询请求包括所述组合查询条件;向所述es搜索引擎发送所述组合查询请求。
93.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述组合查询命令行的解析结果确定本次数据查询的目标hbase数据表;从所述目标hbase数据表中筛选出所述目标行键对应的所有数据列;从所述所有数据列中提取出所述指定输出列对应的数据作为目标数据。
94.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据预先指定的查询类型通过协处理器对所述目标数据进行二次处理后得到最终目标数据;将所述最终目标数据返回至所述用户,并通过分页配置方式进行展示。
95.在一个实施例中,处理器执行计算机程序时还实现以下步骤,所述查询类型包括:排序查询、分组查询或非重复计数查询中的一者或多者。
96.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过indexer索引器获取用户输入的组合查询命令行,对所述组合查询命令行进行解析,得到组合查询条件和指定输出列;将所述组合查询条件输出至es搜索引擎,通过所述es搜索引擎根据所述组合查询
条件从预先建立的二级索引表中查询得到符合所述组合查询条件的目标行键;根据所述目标行键与所述指定输出列从目标hbase数据表中筛选出目标数据。
97.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预先获取目标hbase数据表中需要创建索引的列作为目标列,在es搜索引擎中为所述目标列建立二级索引表。
98.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:识别所述组合查询命令行中的目标关键字;根据各个所述目标关键字之间的顺序关系对所述目标关键字进行拼接,得到组合查询条件。
99.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述组合查询条件生成组合查询请求;其中,所述组合查询请求包括所述组合查询条件;向所述es搜索引擎发送所述组合查询请求。
100.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述组合查询命令行的解析结果确定本次数据查询的目标hbase数据表;从所述目标hbase数据表中筛选出所述目标行键对应的所有数据列;从所述所有数据列中提取出所述指定输出列对应的数据作为目标数据。
101.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据预先指定的查询类型通过协处理器对所述目标数据进行二次处理后得到最终目标数据;将所述最终目标数据返回至所述用户,并通过分页配置方式进行展示。
102.在一个实施例中,计算机程序被处理器执行时还实现以下步骤,所述查询类型包括:排序查询、分组查询或非重复计数查询中的一者或多者。
103.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
104.应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
105.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
106.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1