一种多引擎数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:34440010 阅读:15 留言:0更新日期:2022-08-06 16:28
本申请提供一种多引擎数据查询方法、装置、设备及存储介质。其中,多引擎数据查询方法,包括:通过用户接口,获得来自客户端的结构化查询语言SQL查询请求;响应于SQL查询请求,从多个查询引擎中确定对应的执行引擎,多个查询引擎使用相同的用户接口;通过执行引擎执行SQL查询请求,获取查询结果;通过用户接口,输出查询结果。在本申请中,通过支持多种引擎,根据查询特点选择合适的引擎,提升查询效率,降低查询成本。低查询成本。低查询成本。

【技术实现步骤摘要】
一种多引擎数据查询方法、装置、设备及存储介质


[0001]本申请涉及但不限于数据查询领域,尤其涉及一种多引擎数据查询方法、装置、设备及存储介质。

技术介绍

[0002]联机分析处理(on

line analytical processing,OLAP)类型的查询在企业业务场景下非常的普遍,包括:临时性的查询数据,临时的复杂查询分析,行为识别(behavior identity,BI)系统的查询等。OLAP查询中用到的查询引擎有很多种,如Presto、Impala、Spark、ClickHouse等,不同的查询引擎有不同的特点和不同的适用场景。
[0003]统一用户使用体验,降低用户使用门槛,用适合的引擎解决不同的业务问题,并且能最大限度的提高效率、节省成本,是目前企业在OLAP查询中面临的很重要的问题。目前所采用的技术手段包括:用同一个引擎连接不同数据源,此种方式可以统一用户体验,但无法解决不同场景的问题;使用多引擎以支持不同的业务场景,此种方式可以适配多种业务场景及查询情况,但无法发挥各种引擎的最大价值。

技术实现思路

[0004]本申请提供了一种多引擎数据查询方法、装置、设备及存储介质,以降低用户使用门槛、降低查询成本、提升查询效率以及提升用户体验。
[0005]第一方面,本申请提供一种多引擎数据查询方法,包括:通过用户接口,获得来自客户端的结构化查询语言(structured query language,SQL)查询请求;响应于SQL查询请求,从多个查询引擎中确定对应的执行引擎,多个查询引擎使用相同的所述用户接口;通过执行引擎执行SQL查询请求,获取查询结果;通过用户接口,输出查询结果。
[0006]在一种可能的实施方式中,SQL查询请求采用数据仓库工具Hive SQL标准化语言。
[0007]在一种可能的实施方式中,响应于SQL查询请求,从多个查询引擎中确定对应的执行引擎,包括:对SQL查询请求进行解析,得到解析结果;获取元数据、历史查询统计信息以及预设的路由规则;根据解析结果、元数据、历史查询统计信息以及路由规则,从多个查询引擎中确定执行引擎。
[0008]在一种可能的实施方式中,通过执行引擎执行SQL查询请求,获取查询结果之前,还包括:对SQL查询请求转化为执行引擎可执行的SQL语言;和/或,对执行引擎的配置参数进行优化,其中,配置参数包括执行引擎的运行参数和/或执行引擎的资源配置参数。
[0009]在一种可能的实施方式中,通过执行引擎执行SQL查询请求,获取查询结果,包括:将SQL查询请求输入执行引擎,得到输出的查询结果。
[0010]在一种可能的实施方式中,将SQL查询请求输入执行引擎,得到输出的查询结果,包括:将SQL查询请求添加至执行引擎的执行队列;按照执行队列,将SQL查询请求依次输入执行引擎,得到对应的查询结果。
[0011]在一种可能的实施方式中,将SQL查询请求输入执行引擎,得到输出的查询结果之
后,还包括:将查询结果以对象存储的方式进行存储。
[0012]在一种可能的实施方式中,通过用户接口,输出查询结果,包括:对查询结果进行规范化处理;通过用户接口,输出处理后的查询结果。
[0013]第二方面,本申请提供一种多引擎数据查询装置,该装置可以为计算机中的芯片或者片上系统,还可以为计算机中用于实现第一方面及其任一种可能的实施方式所述方法的功能模块。该多引擎数据查询装置可以实现第一方面及其任一种可能的实施方式所述计算机所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。该多引擎数据查询装置包括:获得模块,用于通过用户接口,获得来自客户端的SQL查询请求;调度模块,用于响应于SQL查询请求,从多个查询引擎中确定对应的执行引擎,多个查询引擎使用相同的用户接口;执行模块,用于通过执行引擎执行SQL查询请求,获取查询结果;输出模块,用于通过用户接口,输出查询结果。
[0014]在一种可能的实施方式中,SQL查询请求采用数据仓库工具Hive SQL标准化语言。
[0015]在一种可能的实施方式中,调度模块,用于对SQL查询请求进行解析,得到解析结果;获取元数据、历史查询统计信息以及预设的路由规则;根据解析结果、元数据、历史查询统计信息以及路由规则,从多个查询引擎中确定执行引擎。
[0016]在一种可能的实施方式中,执行模块,用于对SQL查询请求转化为执行引擎可执行的SQL语言;和/或,对执行引擎的配置参数进行优化,其中,配置参数包括执行引擎的运行参数和/或执行引擎的资源配置参数。
[0017]在一种可能的实施方式中,执行模块,用于将SQL查询请求输入执行引擎,得到输出的查询结果。
[0018]在一种可能的实施方式中,执行模块,用于将SQL查询请求添加至执行引擎的执行队列;按照执行队列,将SQL查询请求依次输入执行引擎,得到对应的所述查询结果。
[0019]在一种可能的实施方式中,执行模块,用于将查询结果以对象存储的方式进行存储。
[0020]在一种可能的实施方式中,输出模块,用于对查询结果进行规范化处理;通过用户接口,输出处理后的查询结果。
[0021]第三方面,本申请提供一种电子设备,包括:用于存储处理器可执行指令的存储器;处理器;其中,处理器被配置为:用于执行可执行指令时,以实现如第一方面及其任一可能的实施方式所述的方法。
[0022]第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行后能够实现如第一方面及其任一种可能的实施方式所述的方法。
[0023]本申请提供的技术方案可以包括以下有益效果:
[0024]在本申请中,通过使用统一的SQL语法,可以降低用户使用门槛,无需考虑不同引擎的差异性,便于使用和推广;支持多种引擎,根据查询特点选择合适的引擎,可以提升查询效率,降低查询成本;得到的查询结果以对象存储的方式保存,使得用户下载此查询数据或再次打开此查询时,可以直接从对象存储下载数据,无需重复执行,可以极大的提升用户体验。
[0025]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本申请的保护范围。
附图说明
[0026]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0027]图1为本申请实施例中的多引擎数据查询方法的一种实施流程示意图;
[0028]图2为本申请实施例中的多引擎数据查询方法的另一种实施流程示意图;
[0029]图3本申请实施例中的多引擎数据查询装置的一种结构示意图;
[0030]图4本申请实施例中的多引擎数据查询装置的另一种结构示意图;
[0031]图5为本申请实施中的一种电子设备的结构示意图。
具体实施方式...

【技术保护点】

【技术特征摘要】
1.一种多引擎数据查询方法,其特征在于,包括:通过用户接口,获得来自客户端的结构化查询语言SQL查询请求;响应于所述SQL查询请求,从多个查询引擎中确定对应的执行引擎,所述多个查询引擎使用相同的所述用户接口;通过所述执行引擎执行所述SQL查询请求,获取查询结果;通过所述用户接口,输出所述查询结果。2.根据权利要求1所述的方法,其特征在于,所述SQL查询请求采用数据仓库工具HiveSQL标准化语言。3.根据权利要求1所述的方法,其特征在于,所述响应于所述SQL查询请求,从多个查询引擎中确定对应的执行引擎,包括:对所述SQL查询请求进行解析,得到解析结果;获取元数据、历史查询统计信息以及预设的路由规则;根据所述解析结果、所述元数据、所述历史查询统计信息以及所述路由规则,从所述多个查询引擎中确定所述执行引擎。4.根据权利要求1所述的方法,其特征在于,在所述通过所述执行引擎执行所述SQL查询请求,获取查询结果之前,所述方法还包括:对所述SQL查询请求转化为所述执行引擎可执行的SQL语言;和/或,对所述执行引擎的配置参数进行优化,其中,所述配置参数包括所述执行引擎的运行参数和/或所述执行引擎的资源配置参数。5.根据权利要求1所述的方法,其特征在于,通过所述执行引擎执行所述SQL查询请求,获取查询结果,包括:将所述SQL查询请求输入所述执行引擎,得到输出的查询结果。6.根据权利要求5所述的方法,其特征在于...

【专利技术属性】
技术研发人员:张鹏
申请(专利权)人:北京快乐茄信息技术有限公司
类型:发明
国别省市:

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

1