CN117312643A - 基于联机分析引擎的数据查询方法及其装置、电子设备 - Google Patents
基于联机分析引擎的数据查询方法及其装置、电子设备 Download PDFInfo
- Publication number
- CN117312643A CN117312643A CN202311078417.5A CN202311078417A CN117312643A CN 117312643 A CN117312643 A CN 117312643A CN 202311078417 A CN202311078417 A CN 202311078417A CN 117312643 A CN117312643 A CN 117312643A
- Authority
- CN
- China
- Prior art keywords
- query
- analysis engine
- task
- statement
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 326
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims description 76
- 241000533950 Leucojum Species 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 5
- 230000001105 regulatory effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 7
- 239000012634 fragment Substances 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000013499 data model Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于联机分析引擎的数据查询方法及其装置、电子设备,涉及大数据领域、金融科技领域或其他相关技术领域,其中,该数据查询方法包括:基于查询接口接收用户端发送的查询语句;对查询语句进行解析,确定目标查询任务的类型;基于目标查询任务的类型获取联机分析引擎查询策略;基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。本发明解决了相关技术中,通过人工选择分析引擎执行查询任务的数据查询方式,查询效率较低的技术问题。
Description
技术领域
本发明涉及大数据领域、金融科技领域或其他相关技术领域,具体而言,涉及一种基于联机分析引擎的数据查询方法及其装置、电子设备。
背景技术
大数据技术发展演进至今,在分布式存储和计算方面技术已经较为成熟,能够稳定地解决企业海量数据的大规模离线和实时计算需求,而随着企业用数时效性提升,面向大数据的复杂联机分析场景方面的挑战也日益严峻,联机分析可以处理包括数值数据、文本数据和图像数据等各种类型的数据,能够执行复杂的数据处理和分析操作,如数据清洗、筛选、聚合、关联和预测等,联机分析在各种领域和行业中都有广泛的应用,如商业智能、金融分析、市场研究、医疗健康、物流和供应链管理等,通过联机分析计算可以快速地从海量数据中提取信息、发现模式、进行决策分析,并生成有用的洞察和见解。
相关技术中,在进行联机计算执行数据查询任务时,可以通过技术栈的部署进行查询,但技术栈太过繁杂,针对不同的业务场景要选择合适的计算引擎,并对应开发一套应用系统,不仅增加了开发成本,还降低产品的体验友好性;在进行联机计算执行数据查询任务时,还可以基于联机分析引擎进行计算,获取待查询的数据,但是各联机分析引擎自成体系,需要人工基于经验初步判断用数需求适合的分析引擎,然后选择对应联机分析引擎提供数据服务,导致查询效率较低,且容易出现判断不准确的情况,影响用户的使用体验感。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于联机分析引擎的数据查询方法及其装置、电子设备,以至少解决相关技术中,通过人工选择分析引擎执行查询任务的数据查询方式,查询效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种基于联机分析引擎的数据查询方法,包括:基于查询接口接收用户端发送的查询语句;对所述查询语句进行解析,确定目标查询任务的类型;基于所述目标查询任务的类型获取联机分析引擎查询策略;基于所述联机分析引擎查询策略获取查询结果,并将所述查询结果返回至所述用户端。
可选地,对所述查询语句进行解析,确定目标查询任务的类型的步骤包括:对所述查询语句进行预处理,得到预处理后的所述查询语句,其中,所述预处理用于将所述查询语句中的字符进行过滤;对预处理后的所述查询语句进行拆分,并对拆分后得到的每个语句子段进行标记,得到每个所述语句子段对应的序列标识;为所述语句子段配置语法标签和关系标签,其中,所述语法标签至少包括:关键字标签、运算符标签、常量标签、变量标签,所述关系标签用于表示所述语句子段之间的关联关系;基于所述语句子段、所述语句子段对应的序列标识、所述语法标签和所述关系标签构建语法树;对所述语法树进行遍历,基于遍历结果确定所述目标查询任务的类型。
可选地,目标查询任务的类型至少包括:单表点查、星型或雪花数据查询。
可选地,所述联机分析引擎的类型为下述之一:Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎。
可选地,基于所述目标查询任务的类型获取联机分析引擎查询策略的步骤包括:在所述目标查询任务的类型为单表点查的情况下,将所述Hbase分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Hbase分析引擎获取Hbase查询策略;在所述目标查询任务的类型为星型或雪花数据查询的情况下,将所述Spark分析引擎和所述Kylin分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Spark分析引擎和Kylin分析引擎获取联合查询策略;在所述目标查询任务的类型为除单表点查、星型和雪花数据查询之外的其他数据查询类型的情况下,将所述Presto分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Presto分析引擎获取Presto查询策略。
可选地,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的所述联机分析引擎查询策略为所述Hbase查询策略的情况下,基于所述Hbase查询策略将所述查询语句转化为所述Hbase分析引擎规定的Hbase查询语句;将所述Hbase查询语句路由至所述Hbase分析引擎,执行所述目标查询任务,得到所述查询结果。
可选地,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的所述联机分析引擎查询策略为所述联合查询策略的情况下,判断所述目标查询任务是否为首次查询,获取判断结果;在所述判断结果指示所述目标查询任务为首次查询的情况下,构建预计算任务,并将所述预计算任务对应的Spark查询语句路由至所述Spark分析引擎,执行所述预计算任务,得到预计算结果;将所述查询语句转化为Kylin分析引擎规定的Kylin查询语句,并将所述Kylin查询语句和首次查询得到的所述预计算结果路由至所述Kylin分析引擎,得到所述查询结果。
可选地,在获取判断结果之后,还包括:在所述判断结果指示所述目标查询任务为非首次查询的情况下,将所述查询语句转化为所述Kylin分析引擎规定的Kylin查询语句;调用所述预计算结果,并将所述预计算结果与所述Kylin查询语句路由至所述Kylin分析引擎,得到所述查询结果。
可选地,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的所述联机分析引擎查询策略为所述Presto查询策略的情况下,将所述查询语句转化为所述Presto分析引擎规定的Presto查询语句;将所述Presto查询语句路由至所述Presto分析引擎,获取所述查询结果。
可选地,在将所述Presto查询语句路由至所述Presto分析引擎之后,还包括:计算当前查询任务的查询时长,在所述查询时长大于预设时长阈值的情况下,中断所述当前查询任务;将所述查询语句转化为所述Spark分析引擎规定的Spark查询语句,并将所述Spark查询语句路由至所述Spark分析引擎执行所述目标查询任务,获取所述查询结果。
根据本发明实施例的另一方面,还提供了一种基于联机分析引擎的数据查询装置,包括:接收单元,用于基于查询接口接收用户端发送的查询语句;确定单元,用于对所述查询语句进行解析,确定目标查询任务的类型;获取单元,用于基于所述目标查询任务的类型获取联机分析引擎查询策略;查询单元,用于基于所述联机分析引擎查询策略获取查询结果,并将所述查询结果返回至所述用户端。
可选地,所述确定单元包括:第一处理模块,用于对所述查询语句进行预处理,得到预处理后的所述查询语句,其中,所述预处理用于将所述查询语句中的字符进行过滤;第一拆分模块,用于对预处理后的所述查询语句进行拆分,并对拆分后得到的每个语句子段进行标记,得到每个所述语句子段对应的序列标识;第一配置模块,用于为所述语句子段配置语法标签和关系标签,其中,所述语法标签至少包括:关键字标签、运算符标签、常量标签、变量标签,所述关系标签用于表示所述语句子段之间的关联关系;第一构建模块,用于基于所述语句子段、所述语句子段对应的序列标识、所述语法标签和所述关系标签构建语法树;第一遍历模块,用于对所述语法树进行遍历,基于遍历结果确定所述目标查询任务的类型。
可选地,目标查询任务的类型至少包括:单表点查、星型或雪花数据查询。
可选地,所述联机分析引擎的类型为下述之一:Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎。
可选地,所述获取单元包括:第一获取模块,用于在所述目标查询任务的类型为单表点查的情况下,将所述Hbase分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Hbase分析引擎生成Hbase查询策略;第二获取模块,用于在所述目标查询任务的类型为星型或雪花数据查询的情况下,将所述Spark分析引擎和所述Kylin分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Spark分析引擎和Kylin分析引擎生成联合查询策略;第三获取模块,用于在所述目标查询任务的类型为除单表点查、星型和雪花数据查询之外的其他数据查询类型的情况下,将所述Presto分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Presto分析引擎生成Presto查询策略。
可选地,所述基于联机分析引擎的数据查询装置还包括:第一转化模块,用于在获取到的所述联机分析引擎查询策略为所述Hbase查询策略的情况下,基于所述Hbase查询策略将所述查询语句转化为所述Hbase分析引擎规定的Hbase查询语句;第一路由模块,用于将所述Hbase查询语句路由至所述Hbase分析引擎,执行所述目标查询任务,得到所述查询结果。
可选地,所述基于联机分析引擎的数据查询装置还包括:第一判断模块,用于在获取到的所述联机分析引擎查询策略为所述联合查询策略的情况下,判断所述目标查询任务是否为首次查询,获取判断结果;第二构建模块,用于在所述判断结果指示所述目标查询任务为首次查询的情况下,构建预计算任务,并将所述预计算任务对应的Spark查询语句路由至所述Spark分析引擎,执行所述预计算任务,得到预计算结果;第二路由模块,用于将所述查询语句转化为Kylin分析引擎规定的Kylin查询语句,并将所述Kylin查询语句和首次查询得到的所述预计算结果路由至所述Kylin分析引擎,得到所述查询结果。
可选地,所述基于联机分析引擎的数据查询装置还包括:第二转化模块,用于在所述判断结果指示所述目标查询任务为非首次查询的情况下,将所述查询语句转化为所述Kylin分析引擎规定的Kylin查询语句;第三路由模块,用于调用所述预计算结果,并将所述预计算结果与所述Kylin查询语句路由至所述Kylin分析引擎,得到所述查询结果。
可选地,所述基于联机分析引擎的数据查询装置还包括:第三转化模块,用于在获取到的所述联机分析引擎查询策略为所述Presto查询策略的情况下,将所述查询语句转化为所述Presto分析引擎规定的Presto查询语句;第四路由模块,用于将所述Presto查询语句路由至所述Presto分析引擎,获取所述查询结果。
可选地,所述基于联机分析引擎的数据查询装置还包括:第一计算模块,用于计算当前查询任务的查询时长,在所述查询时长大于预设时长阈值的情况下,中断所述当前查询任务;第四获取模块,用于将所述查询语句转化为所述Spark分析引擎规定的Spark查询语句,并将所述Spark查询语句路由至所述Spark分析引擎执行所述目标查询任务,获取所述查询结果。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项基于联机分析引擎的数据查询方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项基于联机分析引擎的数据查询方法。
在本公开中,通过以下步骤:先基于查询接口接收用户端发送的查询语句,再对查询语句进行解析,确定目标查询任务的类型,然后基于目标查询任务的类型获取联机分析引擎查询策略,最后基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
在本公开中,通过统一的查询接口接收用户端的查询语句,并对查询语句进行解析,通过查询语句中的关联特征确定目标查询任务所属的类型,然后基于类型获取联机分析引擎策略,由相应的联机分析引擎执行查询任务并进行计算,得到查询结果,不需要人工进行判断,自动对语句进行解析即可确定用数需求合适的联机分析引擎,提升了查询效率,同时提高了联机分析引擎判断的准确性,进而解决了相关技术中,通过人工选择分析引擎执行查询任务的数据查询方式,查询效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于联机分析引擎的数据查询方法的流程图;
图2是根据本发明实施例的一种可选的基于联机分析引擎的数据查询系统的架构图;
图3是根据本发明实施例的一种可选的基于联机分析引擎的数据查询装置的示意图;
图4是根据本发明实施例的一种基于联机分析引擎的数据查询方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开中的基于联机分析引擎的数据查询方法及其装置可用于大数据领域在获取用数需求需要的联机分析引擎执行数据查询任务的情况下,也可用于除区块链技术领域之外的任意领域在获取用数需求需要的联机分析引擎执行数据查询任务的情况下,本公开中对基于联机分析引擎的数据查询方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
本发明下述各实施例可应用于各种数据查询系统/应用/设备中。本发明通过统一的接口接收用户端的查询语句,并对查询语句进行解析,根据解析得到的特征构建语法树,然后通过遍历语法树获取特征之间的关联关系,进而确定目标查询任务对应的类型,通过类型获取相应的联机分析引擎策略,将查询语句路由至相应的联机分析引擎,调用联机分析引擎进行分析计算,获取查询结果。
本发明针对复杂的数据查询场景提供透明加速方法,解决了多套分析引擎造成的成本和用数门槛高的问题,整合现有联机分析引擎技术资源,面向用户提供统一的查询接口。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种基于联机分析引擎的数据查询方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的基于联机分析引擎的数据查询方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,基于查询接口接收用户端发送的查询语句;
步骤S102,对查询语句进行解析,确定目标查询任务的类型;
步骤S103,基于目标查询任务的类型获取联机分析引擎查询策略;
步骤S104,基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
通过上述步骤,先基于查询接口接收用户端发送的查询语句,再对查询语句进行解析,确定目标查询任务的类型,然后基于目标查询任务的类型获取联机分析引擎查询策略,最后基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
本实施例中,通过统一的查询接口接收用户端的查询语句,并对查询语句进行解析,通过查询语句中的关联特征确定目标查询任务所属的类型,然后基于类型获取联机分析引擎策略,由相应的联机分析引擎执行查询任务并进行计算,得到查询结果,不需要人工进行判断,自动对语句进行解析即可确定与用数需求匹配的联机分析引擎,提升了查询效率,同时提高了联机分析引擎判断的准确性,进而解决了相关技术中,通过人工选择分析引擎执行查询任务的数据查询方式,查询效率较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。
需要说明的是,本发明实施例的实施主体为数据查询系统,随着大数据技术的快速发展,数据库的数据分布量大,数据库表分布复杂,基于用户的用数需求,往往需要对数据库中的数据进行联机分析计算,得到用户需要的数据,例如对多张数据表中的数据筛选、数据去重、数据聚合以及数据预测等分析计算。
需要说明的是,本发明实施例的数据查询系统通过解析查询语句、构造语法树,判断查询类型、获取联机分析引擎策略,并通过将查询语句路由至相关的联机分析引擎执行相应查询任务,以获取查询结果并向用户端返回需要的结果。
步骤S101,基于查询接口接收用户端发送的查询语句。
需要说明的是,本发明实施例对现有的联机分析引擎进行了整合,面向用户提供统一的查询接口,用户只需要发送最基础的查询语句,就可以获取相关的查询结果,其他的分析计算步骤由数据查询系统执行,无需人工判断需要调用哪个联机分析引擎,也无需根据各联机分析引擎的要求创建相应的查询语句,降低了用数门槛,提升了用户使用体验。
步骤S102,对查询语句进行解析,确定目标查询任务的类型。
需要说明的是,查询语句携带了用户的查询需求,例如:用户需要查询名为users的用户表中的姓名和年龄两个字段,其查询语句可以为“SELECT name,ageFROM users”,当用户需要查询多个表中的相关数据时,例如需要查询订单表和客户表中的相关信息时,其查询语句可以为:
“SELECT o.order_id,c.customer_name,o.order_date
FROM orders
JOIN customers c ON o.customer_id=c.customer_id”,该查询语句通过连接orders表(订单表)和customers表(客户表),根据订单表中的orders_id字段与客户表中的customer_id字段关联,查询订单的编号(order_id)、客户姓名(customer_name)和订单日期(order_date)等信息。
由此可见,查询语句中携带丰富的信息,对查询语句进行解析,可以获取用户的查询需求,进而根据不同的需求确定可以执行该查询任务的目标联机分析引擎。
可选地,对查询语句进行解析,确定目标查询任务的类型的步骤包括:对查询语句进行预处理,得到预处理后的查询语句,其中,预处理用于将查询语句中的字符进行过滤;对预处理后的查询语句进行拆分,并对拆分后得到的每个语句子段进行标记,得到每个语句子段对应的序列标识;为语句子段配置语法标签和关系标签,其中,语法标签至少包括:关键字标签、运算符标签、常量标签、变量标签,关系标签用于表示语句子段之间的关联关系;基于语句子段、语句子段对应的序列标识、语法标签和关系标签构建语法树;对语法树进行遍历,基于遍历结果确定目标查询任务的类型。
需要说明的是,对查询语句进行解析的过程中,首先需要对查询语句进行预处理,去除查询语句中没有实际意义的词或符号,然后对预处理后的查询语句进行拆分,将查询语句中的关联特征进行拆分,得到语句子段,语句子段可以为关键字、运算符或者关系词,在得到语句子段后还需要对每个语句子段进行标记,得到语句子段对应的序列标识,同时根据语句子段的内容配置语法标签和关系标签,语法标签包括但不限于关键字标签、运算符标签、常量标签、变量标签,关联关系标签可以表示语句子段之间的关联关系,然后根据语句子段、序列标识、语法标签和关系标签构建语法树,将语句子段之间的关系通过语法树的节点呈现,通过对语法树进行遍历,可以确定目标查询任务的类型。
需要说明的是,在构建语法树时,例如对于如下查询语句:select id,job,taskfrom test_tab where id<10,sql语句中每个独立单词(如select、from)和表达式(id<10)就是一个节点,通过词法分析将孤立的节点组合成有上下文关系的语法树。
可选地,目标查询任务的类型至少包括:单表点查、星型或雪花数据查询。
需要说明的是,目标查询任务的类型至少包括:单表点查、星型或雪花数据查询,单表点查表示对单张数据表中的数据进行计算,星型数据查询用于对星型数据模型中的数据进行查询,星型模型数据为具有一个中心的数据表(Fact Table),周围是多个维度表(Dimension Table),呈星形连接关系,雪花数据查询用于对雪花数据模型进行查询,而雪花数据模型是在星型数据模型的基础上进一步将一些维度表进行分解,形成更多的层级关系,通常有更多的表和连接关系。
在判断目标查询任务的类型时,观察语法树获取查询语句中的连接操作,如果查询只涉及一个表并没有连接其他表,则可以判断查询类型为单表点查,如果查询语句中出现了多个表的连接,可以进一步分析连接的表之间的关系,如果连接的表之间存在直接的连接关系,并且没有表的分解,可以判断为星型数据查询;如果连接的表之间存在细分或层级关系,需要通过连接子维度表来获取数据,则查询类型为雪花数据查询,或者,通过语法树获取查询语句中的表的关联信息,如果查询语句中的关联信息将一个表作为主表,其他表作为从表,并且从表之间没有进一步的关联操作,可以判断为星型数据查询,如果从表之间存在级联关系,需要通过多次关联操作才能获取数据,则为雪花数据查询。
步骤S103,基于目标查询任务的类型获取联机分析引擎查询策略。
可选地,联机分析引擎的类型为下述之一:Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎。
需要说明的是,常用的联机分析引擎有Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎,这些引擎在适应场景上都有各自擅长领域,如Kylin适合基于星型、雪花数据模型进行数据查询;Presto适合即席灵活查询;Hbase适合单表点查场景等。
需要说明的是,本发明实施例中,目标查询任务的类型和联机分析引擎是相对应的,基于目标插叙任务可以获取到联机分析引擎查询策略,该联机分析引擎查询策略指示了执行目标查询任务的联机分析引擎,并记载了联机分析引擎可以响应的语句格式等信息。
可选地,基于目标查询任务的类型获取联机分析引擎查询策略的步骤包括:在目标查询任务的类型为单表点查的情况下,将Hbase分析引擎作为执行目标查询任务的联机分析引擎,并基于Hbase分析引擎获取Hbase查询策略;在目标查询任务的类型为星型或雪花数据查询的情况下,将Spark分析引擎和Kylin分析引擎作为执行目标查询任务的联机分析引擎,并基于Spark分析引擎和Kylin分析引擎获取联合查询策略;在目标查询任务的类型为除单表点查、星型和雪花数据查询之外的其他数据查询类型的情况下,将Presto分析引擎作为执行目标查询任务的联机分析引擎,并基于Presto分析引擎获取Presto查询策略。
需要说明的是,当目标查询任务的类型为单表点查时,Hbase分析引擎作为执行目标查询任务的联机分析引擎,并获取Hbase查询策略,当目标查询任务的类型为星型或雪花数据查询时,Spark分析引擎和Kylin分析引擎为执行目标查询任务的联机分析引擎,并获取联合查询策略;当目标查询任务的类型不为以上三种查询类型的情况下,Presto分析引擎为执行目标查询任务的联机分析引擎,并基于Presto分析引擎获取Presto查询策略。
步骤S104,基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
可选地,在基于目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的联机分析引擎查询策略为Hbase查询策略的情况下,基于Hbase查询策略将查询语句转化为Hbase分析引擎规定的Hbase查询语句;将Hbase查询语句路由至Hbase分析引擎,执行目标查询任务,得到查询结果。
需要说明的是,在获取到Hbase查询策略的情况,表示用户的查询需求单表点查,Hbase分析引擎更适用于单表点查场景,在执行目标查询任务时,首先需要将查询语句进行转换,将SQL查询语句转换为Key-value形式的Hbase查询语句,并将其路由至Hbase分析引擎,由Hbase分析引擎根据Key值和value值进行分析计算,获取查询结果。
可选地,在基于目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的联机分析引擎查询策略为联合查询策略的情况下,判断目标查询任务是否为首次查询,获取判断结果;在判断结果指示目标查询任务为首次查询的情况下,构建预计算任务,并将预计算任务对应的Spark查询语句路由至Spark分析引擎,执行预计算任务,得到预计算结果;将查询语句转化为Kylin分析引擎规定的Kylin查询语句,并将Kylin查询语句和首次查询得到的预计算结果路由至Kylin分析引擎,得到查询结果。
需要说明的是,对于复杂场景的数据查询任务,例如涉及对多张表中的数据进行计算查询,本发明实施例针对星型或雪花数据查询场景,采用联机查询策略,通过Spark分析引擎和Kylin分析引擎联合进行查询,当目标查询任务为首次查询时,通过构建和执行预计算任务,得到预计算结果,然后根据预计算结果进行二次分析计算,得到最终的查询结果,二次分析计算由Kylin分析引擎执行,该预计算任务是在Spark分析引擎中进行的,例如,当用户需要计算五张表中所有用户的总工资,那么可以先对每张表中的工资进行计算,得到预计算结果,然后根据预计算结果进行二次计算,得到最终的计算结果,并将其作为查询结果返回至用户端。
可选地,在获取判断结果之后,还包括:在判断结果指示目标查询任务为非首次查询的情况下,将查询语句转化为Kylin分析引擎规定的Kylin查询语句;调用预计算结果,并将预计算结果与Kylin查询语句路由至Kylin分析引擎,得到查询结果。
需要说明的是,当判断目标查询任务为非首次查询时,可以直接调用首次查询的预计算结果,并对查询语句进行转换,得到Kylin分析引擎支持的语句,然后将转换后的语句和预计算结果路由至Kylin分析引擎,得到查询结果。
需要说明的是,本发明实施例通过构建预计算任务的方式实现数据查询的加速,通过预计算任务对涉及数据源的数据先进行一次计算,后续在用户具有相同的查询需求时,可以直接根据预计算结果进行二次计算,得到用户查询的最终结果,加快分析计算速度,提升数据查询效率。
可选地,在基于目标查询任务的类型获取联机分析引擎查询策略之后,还包括:在获取到的联机分析引擎查询策略为Presto查询策略的情况下,将查询语句转化为Presto分析引擎规定的Presto查询语句;将Presto查询语句路由至Presto分析引擎,获取查询结果。
需要说明的是,当获取到的联机分析引擎查询策略为Presto查询策略时,可能为实时数据查询等其他数据查询类型,将SQL查询语句转换为Presto分析引擎支持的查询语句,并将转换后的查询语句路由至Presto分析引擎,由Presto分析引擎执行目标数据查询任务,得到查询结果。
可选地,在将Presto查询语句路由至Presto分析引擎之后,还包括:计算当前查询任务的查询时长,在查询时长大于预设时长阈值的情况下,中断当前查询任务;将查询语句转化为Spark分析引擎规定的Spark查询语句,并将Spark查询语句路由至Spark分析引擎执行目标查询任务,获取查询结果。
需要说明的是,查询耗时较长会影响用户的体验感,因此在通过Presto分析引擎执行目标查询任务时,需要计算当前任务的查询时长,当查询时长大于预设时长阈值时,中断当前查询任务,改为由Spark分析引擎执行目标查询任务。
下面结合另一种可选的具体实施方式进行详细说明。
图2是根据本发明实施例的一种可选的基于联机分析引擎的数据查询系统的架构图,如图2所示,该数据查询系统包括:控制模块、路由解析模块和计算引擎(联机分析引擎),该系统与数据源系统连接,可以访问数据库表,并获取数据库表存储的数据进行分析计算。
如图2所示,控制模块包括权限控制子模块和语法判断子模块两个部分,权限控制子模块用于对用户访问权限进行验证,对验证不通过的用户端,拒接调用数据查询接口,语法判断子模块用于对查询语句进行分析。
路由解析模块包括解析子模块、转换子模块和路由子模块,解析子模块用于对查询语句进行解析并构建语法树,同时通过遍历语法树获取查询关键词之间的关联关系,进而确定目标查询任务的类型,获取执行目标查询任务的联机分析引擎查询策策略;转换子模块用于将用户端发送的查询语句转换为各联机分析引擎支持的语句,路由子模块用于将转换后的语句路由至相应的联机分析引擎,由联机分析引擎执行查询任务。
计算引擎包括Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎,这些引擎在适应场景上都有各自擅长领域,如Kylin适合基于星型、雪花数据模型进行数据查询;Presto适合即席灵活查询;Hbase适合单表点查场景等,各联机分析引擎可以访问数据源系统,并对数据源系统中的主句进行分析计算,得到查询结果,由数据查询系统将查询结果返回至用户端。
本发明实施例的数据查询系统执行上述基于联机分析引擎的数据查询方法,基于联机分析引擎的数据查询通过以下步骤实现:
步骤一,接收SQL,并解析成语法树;
步骤二,遍历语法树,判断该查询是否为单表点查或者星型/雪花数据查询,并根据数据查询类型将查询语句路由至相应的计算引擎执行查询任务;
第一,若为单表点查场景,则通过转换功能转换成适合Hbase引擎查询接口的语法,并路由至Hbase计算引擎执行查询任务。
第二,星型或者雪花数据查询,首先确认该查询是否为首次查询,如果是首次,则通过转换模块构建预计算任务,同时将预计算任务路由至Spark计算引擎执行查询任务,得到预计算结果,然后将与计算结果路由至Kylin计算引擎进行二次计算,得到最终的查询结果,如果为非首次查询,则将查询任务直接路由至Kylin计算引擎执行,根据首次查询到预计算结果进行计算,得到查询结果。
第三,当目标查询任务不是以上任意一种类型时,则路由至Presto计算引擎执行查询任务,并记录查询时间,如果查询时间超过15秒(该超时参数可配置),则中断当前查询,然后将查询语句转换成适合Spark引擎的查询方式,最后路由至Spark计算引擎执行查询任务。
步骤三,获取查询结果。
本发明实施例中,系统架构各模块之间分工明确,完全解耦,从用户视角,整个系统是透明的,用户只需提交技术门槛最低的查询语句即可快速获得所需的数据,降低了系统维护成本和使用门槛。
下面结合另一实施例进行详细说明。
实施例二
本实施例中提供的一种基于联机分析引擎的数据查询装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图3是根据本发明实施例的一种可选的基于联机分析引擎的数据查询装置的示意图,如图3所示,该数据查询装置包括:接收单元31、确定单元32、获取单元33、查询单元34,其中,
接收单元31,用于基于查询接口接收用户端发送的查询语句;
确定单元32,用于对查询语句进行解析,确定目标查询任务的类型;
获取单元33,用于基于目标查询任务的类型获取联机分析引擎查询策略;
查询单元34,用于基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
上述数据查询装置,通过接收单元31基于查询接口接收用户端发送的查询语句;通过确定单元32对查询语句进行解析,确定目标查询任务的类型;通过获取单元33基于目标查询任务的类型获取联机分析引擎查询策略;通过查询单元34基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
本实施例中,通过统一的查询接口接收用户端的查询语句,并对查询语句进行解析,通过查询语句中的关联特征确定目标查询任务所属的类型,然后基于类型获取联机分析引擎策略,由相应的联机分析引擎执行查询任务并进行计算,得到查询结果,不需要人工进行判断,自动对语句进行解析即可确定用数需求合适的联机分析引擎,提升了查询效率,同时提高了联机分析引擎判断的准确性,进而解决了相关技术中,通过人工选择分析引擎执行查询任务的数据查询方式,查询效率较低的技术问题。
可选地,确定单元包括:第一处理模块,用于对查询语句进行预处理,得到预处理后的查询语句,其中,预处理用于将查询语句中的字符进行过滤;第一拆分模块,用于对预处理后的查询语句进行拆分,并对拆分后得到的每个语句子段进行标记,得到每个语句子段对应的序列标识;第一配置模块,用于为语句子段配置语法标签和关系标签,其中,语法标签至少包括:关键字标签、运算符标签、常量标签、变量标签,关系标签用于表示语句子段之间的关联关系;第一构建模块,用于基于语句子段、语句子段对应的序列标识、语法标签和关系标签构建语法树;第一遍历模块,用于对语法树进行遍历,基于遍历结果确定目标查询任务的类型。
可选地,目标查询任务的类型至少包括:单表点查、星型或雪花数据查询。
可选地,联机分析引擎的类型为下述之一:Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎。
可选地,获取单元包括:第一获取模块,用于在目标查询任务的类型为单表点查的情况下,将Hbase分析引擎作为执行目标查询任务的联机分析引擎,并基于Hbase分析引擎生成Hbase查询策略;第二获取模块,用于在目标查询任务的类型为星型或雪花数据查询的情况下,将Spark分析引擎和Kylin分析引擎作为执行目标查询任务的联机分析引擎,并基于Spark分析引擎和Kylin分析引擎生成联合查询策略;第三获取模块,用于在目标查询任务的类型为除单表点查、星型和雪花数据查询之外的其他数据查询类型的情况下,将Presto分析引擎作为执行目标查询任务的联机分析引擎,并基于Presto分析引擎生成Presto查询策略。
可选地,基于联机分析引擎的数据查询装置还包括:第一转化模块,用于在获取到的联机分析引擎查询策略为Hbase查询策略的情况下,基于Hbase查询策略将查询语句转化为Hbase分析引擎规定的Hbase查询语句;第一路由模块,用于将Hbase查询语句路由至Hbase分析引擎,执行目标查询任务,得到查询结果。
可选地,基于联机分析引擎的数据查询装置还包括:第一判断模块,用于在获取到的联机分析引擎查询策略为联合查询策略的情况下,判断目标查询任务是否为首次查询,获取判断结果;第二构建模块,用于在判断结果指示目标查询任务为首次查询的情况下,构建预计算任务,并将预计算任务对应的Spark查询语句路由至Spark分析引擎,执行预计算任务,得到预计算结果;第二路由模块,用于将查询语句转化为Kylin分析引擎规定的Kylin查询语句,并将Kylin查询语句和首次查询得到的预计算结果路由至Kylin分析引擎,得到查询结果。
可选地,基于联机分析引擎的数据查询装置还包括:第二转化模块,用于在判断结果指示目标查询任务为非首次查询的情况下,将查询语句转化为Kylin分析引擎规定的Kylin查询语句;第三路由模块,用于调用预计算结果,并将预计算结果与Kylin查询语句路由至Kylin分析引擎,得到查询结果。
可选地,基于联机分析引擎的数据查询装置还包括:第三转化模块,用于在获取到的联机分析引擎查询策略为Presto查询策略的情况下,将查询语句转化为Presto分析引擎规定的Presto查询语句;第四路由模块,用于将Presto查询语句路由至Presto分析引擎,获取查询结果。
可选地,基于联机分析引擎的数据查询装置还包括:第一计算模块,用于计算当前查询任务的查询时长,在查询时长大于预设时长阈值的情况下,中断当前查询任务;第四获取模块,用于将查询语句转化为Spark分析引擎规定的Spark查询语句,并将Spark查询语句路由至Spark分析引擎执行目标查询任务,获取查询结果。
上述基于联机分析引擎的数据查询装置还可以包括处理器和存储器,上述接收单元31、确定单元32、获取单元33、查询单元34等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来将查询语句路由至对应的联机分析引擎执行查询任务并获取查询结果。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项基于联机分析引擎的数据查询方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项基于联机分析引擎的数据查询方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于查询接口接收用户端发送的查询语句;对查询语句进行解析,确定目标查询任务的类型;基于目标查询任务的类型获取联机分析引擎查询策略;基于联机分析引擎查询策略获取查询结果,并将查询结果返回至用户端。
图4是根据本发明实施例的一种基于联机分析引擎的数据查询方法的电子设备(或移动设备)的硬件结构框图。如图4所示,电子设备可以包括一个或多个(图4中采用402a、402b,……,402n来示出)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器404。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种基于联机分析引擎的数据查询方法,其特征在于,包括:
基于查询接口接收用户端发送的查询语句;
对所述查询语句进行解析,确定目标查询任务的类型;
基于所述目标查询任务的类型获取联机分析引擎查询策略;
基于所述联机分析引擎查询策略获取查询结果,并将所述查询结果返回至所述用户端。
2.根据权利要求1所述的数据查询方法,其特征在于,对所述查询语句进行解析,确定目标查询任务的类型的步骤包括:
对所述查询语句进行预处理,得到预处理后的所述查询语句,其中,所述预处理用于将所述查询语句中的字符进行过滤;
对预处理后的所述查询语句进行拆分,并对拆分后得到的每个语句子段进行标记,得到每个所述语句子段对应的序列标识;
为所述语句子段配置语法标签和关系标签,其中,所述语法标签至少包括:关键字标签、运算符标签、常量标签、变量标签,所述关系标签用于表示所述语句子段之间的关联关系;
基于所述语句子段、所述语句子段对应的序列标识、所述语法标签和所述关系标签构建语法树;
对所述语法树进行遍历,基于遍历结果确定所述目标查询任务的类型。
3.根据权利要求1所述的数据查询方法,其特征在于,所述目标查询任务的类型至少包括:单表点查、星型或雪花数据查询。
4.根据权利要求1所述的数据查询方法,其特征在于,所述联机分析引擎的类型为下述之一:Kylin分析引擎、Presto分析引擎、Hbase分析引擎、Spark分析引擎。
5.根据权利要求4所述的数据查询方法,其特征在于,基于所述目标查询任务的类型获取联机分析引擎查询策略的步骤包括:
在所述目标查询任务的类型为单表点查的情况下,将所述Hbase分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Hbase分析引擎获取Hbase查询策略;
在所述目标查询任务的类型为星型或雪花数据查询的情况下,将所述Spark分析引擎和所述Kylin分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Spark分析引擎和Kylin分析引擎获取联合查询策略;
在所述目标查询任务的类型为除单表点查、星型和雪花数据查询之外的其他数据查询类型的情况下,将所述Presto分析引擎作为执行所述目标查询任务的所述联机分析引擎,并基于所述Presto分析引擎获取Presto查询策略。
6.根据权利要求5所述的数据查询方法,其特征在于,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:
在获取到的所述联机分析引擎查询策略为所述Hbase查询策略的情况下,基于所述Hbase查询策略将所述查询语句转化为所述Hbase分析引擎规定的Hbase查询语句;
将所述Hbase查询语句路由至所述Hbase分析引擎,执行所述目标查询任务,得到所述查询结果。
7.根据权利要求5所述的数据查询方法,其特征在于,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:
在获取到的所述联机分析引擎查询策略为所述联合查询策略的情况下,判断所述目标查询任务是否为首次查询,获取判断结果;
在所述判断结果指示所述目标查询任务为首次查询的情况下,构建预计算任务,并将所述预计算任务对应的Spark查询语句路由至所述Spark分析引擎,执行所述预计算任务,得到预计算结果;
将所述查询语句转化为Kylin分析引擎规定的Kylin查询语句,并将所述Kylin查询语句和首次查询得到的所述预计算结果路由至所述Kylin分析引擎,得到所述查询结果。
8.根据权利要求7所述的数据查询方法,其特征在于,在获取判断结果之后,还包括:
在所述判断结果指示所述目标查询任务为非首次查询的情况下,将所述查询语句转化为所述Kylin分析引擎规定的Kylin查询语句;
调用所述预计算结果,并将所述预计算结果与所述Kylin查询语句路由至所述Kylin分析引擎,得到所述查询结果。
9.根据权利要求5所述的数据查询方法,其特征在于,在基于所述目标查询任务的类型获取联机分析引擎查询策略之后,还包括:
在获取到的所述联机分析引擎查询策略为所述Presto查询策略的情况下,将所述查询语句转化为所述Presto分析引擎规定的Presto查询语句;
将所述Presto查询语句路由至所述Presto分析引擎,获取所述查询结果。
10.根据权利要求9所述的数据查询方法,其特征在于,在将所述Presto查询语句路由至所述Presto分析引擎之后,还包括:
计算当前查询任务的查询时长,在所述查询时长大于预设时长阈值的情况下,中断所述当前查询任务;
将所述查询语句转化为所述Spark分析引擎规定的Spark查询语句,并将所述Spark查询语句路由至所述Spark分析引擎执行所述目标查询任务,获取所述查询结果。
11.一种基于联机分析引擎的数据查询装置,其特征在于,包括:
接收单元,用于基于查询接口接收用户端发送的查询语句;
确定单元,用于对所述查询语句进行解析,确定目标查询任务的类型;
获取单元,用于基于所述目标查询任务的类型获取联机分析引擎查询策略;
查询单元,用于基于所述联机分析引擎查询策略获取查询结果,并将所述查询结果返回至所述用户端。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至10中任意一项所述的基于联机分析引擎的数据查询方法。
13.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至10中任意一项所述的基于联机分析引擎的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078417.5A CN117312643A (zh) | 2023-08-24 | 2023-08-24 | 基于联机分析引擎的数据查询方法及其装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311078417.5A CN117312643A (zh) | 2023-08-24 | 2023-08-24 | 基于联机分析引擎的数据查询方法及其装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312643A true CN117312643A (zh) | 2023-12-29 |
Family
ID=89296198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311078417.5A Pending CN117312643A (zh) | 2023-08-24 | 2023-08-24 | 基于联机分析引擎的数据查询方法及其装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312643A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725086A (zh) * | 2024-02-06 | 2024-03-19 | 中科云谷科技有限公司 | 大数据服务系统 |
-
2023
- 2023-08-24 CN CN202311078417.5A patent/CN117312643A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725086A (zh) * | 2024-02-06 | 2024-03-19 | 中科云谷科技有限公司 | 大数据服务系统 |
CN117725086B (zh) * | 2024-02-06 | 2024-05-07 | 中科云谷科技有限公司 | 大数据服务系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107147639B (zh) | 一种基于复杂事件处理的实时安全预警方法 | |
Shen et al. | Web service discovery based on behavior signatures | |
KR20210141640A (ko) | 이기종 데이터 소스에 저장된 데이터의 자연어 기반 처리 방법 | |
CN110807085B (zh) | 故障信息的查询方法及装置、存储介质、电子装置 | |
CN107872454B (zh) | 超大型互联网平台威胁信息监测与分析系统及方法 | |
Ali et al. | Requirements traceability for object oriented systems by partitioning source code | |
US11379670B1 (en) | Automatically populating responses using artificial intelligence | |
CN109542741A (zh) | 日志自动分组存储方法、装置、计算机设备和存储介质 | |
CN109977175B (zh) | 数据配置查询方法和装置 | |
CN117312643A (zh) | 基于联机分析引擎的数据查询方法及其装置、电子设备 | |
US20130318098A1 (en) | Method and system to analyze email addresses | |
CN112686717B (zh) | 一种广告召回的数据处理方法及系统 | |
CN111198898B (zh) | 大数据查询方法及大数据查询装置 | |
WO2017189674A1 (en) | Global matching system | |
US9922116B2 (en) | Managing big data for services | |
CN112256880A (zh) | 文本识别方法和装置、存储介质及电子设备 | |
CN110543484A (zh) | 提示词的推荐方法及装置、存储介质和处理器 | |
CN112182025A (zh) | 日志分析方法、装置、设备与计算机可读存储介质 | |
CN110413708B (zh) | 一种面向业务术语的数据分析系统 | |
CN109902215A (zh) | 一种交易匹配的方法及系统 | |
US20090030896A1 (en) | Inference search engine | |
CN110427388A (zh) | 一种数据处理方法及装置、存储介质 | |
CN116248393A (zh) | 一种内网数据传输漏洞扫描装置及系统 | |
KR20090097304A (ko) | 질의어 형태소분석을 통한 온라인 자동 응답 방법 및온라인 자동 응답 시스템 | |
Alvanaki et al. | Tracking set correlations at large scale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |