本申请涉及大数据领域以及金融领域,尤其涉及一种hivesql多重连接查询的优化方法、装置、设备及存储介质。
背景技术:
1、hivesql是基于hadoop生态系统的一种sql查询工具,主要用于大数据分析和处理。在hivesql中,多重连接查询是用于复杂的数据分析和关联查询的常见数据查询操作。然而,由于多重连接查询涉及多个表之间的连接操作与查询,需要在不同的表之间进行大量的数据传输与匹配,容易导致查询时间过长和计算机资源的浪费,因此,如何提升多重连接查询的执行效率成为了亟需解决的问题。
技术实现思路
1、有鉴于此,本申请的主要目的在于提供一种hivesql多重连接查询的优化方法、装置、设备及存储介质,以提高多重连接查询的执行效率。
2、在本申请第一方面的一些实现方式中,该方法包括:
3、获取第一hivesql查询语句,并构建第一hivesql查询语句的数据模型,第一hivesql查询语句指示连接的数据表为至少两张;
4、根据数据模型对第一hivesql查询语句进行决策优化,并生成多重连接优化决策;
5、根据多重连接优化决策为第一hivesql查询语句制定多重连接查询计划,并根据多重连接查询计划重写第一hivesql查询语句,以得到第二hivesql查询语句;
6、通过第二hivesql查询语句进行数据查询,以得到查询结果。
7、在本申请第一方面的一些实现方式中,数据模型用于指示第一hivesql查询语句的查询结构以及表连接关系。
8、在本申请第一方面的一些实现方式中,构建第一hivesql查询语句的数据模型,包括:
9、提取第一hivesql查询语句指示连接的数据表的表信息以及数据表之间的表连接条件;
10、解析第一hivesql查询语句指示连接的数据表的表信息以及数据表之间的表连接条件,以得到第一hivesql查询语句的查询结构以及表连接关系;
11、基于查询结构以及表连接关系构建数据模型。
12、在本申请第一方面的一些实现方式中,提取第一hivesql查询语句指示连接的数据表的表信息以及数据表之间的表连接条件,包括:
13、通过antlr语言识别工具生成第一hivesql查询语句的抽象语法树,抽象语法树包括:表信息节点以及表连接信息节点;
14、通过表信息节点提取第一hivesql查询语句指示连接的数据表的表信息;
15、通过表连接信息节点提取数据表之间的表连接条件。
16、在本申请第一方面的一些实现方式中,多重连接优化决策包括:表连接顺序优化决策以及表连接算法优化决策。
17、在本申请第一方面的一些实现方式中,根据数据模型对第一hivesql查询语句进行决策优化,包括:
18、根据查询结构以及表连接关系,对第一hivesql查询语句进行表连接顺序优化,以得到表连接顺序优化决策;
19、根据表连接顺序优化决策对第一hivesql查询语句进行表连接算法优化,以得到表连接算法优化决策。
20、在本申请第一方面的一些实现方式中,根据多重连接优化决策为第一hivesql查询语句制定多重连接查询计划,包括:
21、根据表连接顺序优化决策选择第一hivesql查询语句的物理执行计划;
22、根据表连接算法优化决策修改物理执行计划,以得到多重连接查询计划。
23、本申请第二方面提供了一种hivesql多重连接查询的优化装置,该装置包括:
24、查询解析模块,用于获取第一hivesql查询语句,并构建第一hivesql查询语句的数据模型,第一hivesql查询语句指示连接的数据表为至少两张;
25、优化决策模块,用于根据数据模型对第一hivesql查询语句进行决策优化,并生成多重连接优化决策;
26、查询重写模块,用于根据多重连接优化决策为第一hivesql查询语句制定多重连接查询计划,并根据多重连接查询计划重写第一hivesql查询语句,以得到第二hivesql查询语句;
27、语句查询模块,通过第二hivesql查询语句进行数据查询,以得到查询结果。
28、本申请第三方面提供了一种hivesql多重连接查询的优化设备,其特征在于,hivesql多重连接查询的优化设备包括存储器和处理器,处理器用于执行存储器中存储的程序,运行如本申请第一方面所提供的任一项hivesql多重连接查询的优化方法。
29、本申请第四方面提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所提供的hivesql多重连接查询的优化方法的各个步骤。
30、相对于现有技术,本申请所提供的技术方案具有如下有益效果:
31、在本申请所提供的技术方案中,通过获取第一hivesql查询语句,并构建第一hivesql查询语句的数据模型,第一hivesql查询语句指示连接的数据表为至少两张;根据数据模型对第一hivesql查询语句进行决策优化,并生成多重连接优化决策;根据多重连接优化决策为第一hivesql查询语句制定多重连接查询计划,并根据多重连接查询计划重写第一hivesql查询语句,以得到第二hivesql查询语句;通过第二hivesql查询语句进行数据查询,以得到查询结果。从而提高了多重连接查询的执行效率,减少了查询时间,降低了计算机资源的消耗。
1.一种hivesql多重连接查询的优化方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述数据模型用于指示所述第一hivesql查询语句的查询结构以及表连接关系。
3.根据权利要求2所述的方法,其特征在于,所述构建所述第一hivesql查询语句的数据模型,包括:
4.根据权利要求3所述的方法,其特征在于,所述提取所述第一hivesql查询语句指示连接的数据表的表信息以及数据表之间的表连接条件,包括:
5.根据权利要求2所述的方法,其特征在于,所述多重连接优化决策包括:表连接顺序优化决策以及表连接算法优化决策。
6.根据权利要求5所述的方法,其特征在于,所述根据所述数据模型对所述第一hivesql查询语句进行决策优化,包括:
7.根据权利要求5所述的方法,其特征在于,所述根据所述多重连接优化决策为所述第一hivesql查询语句制定多重连接查询计划,包括:
8.一种hivesql多重连接查询的优化装置,其特征在于,所述装置包括:
9.一种hivesql多重连接查询的优化设备,其特征在于,所述hivesql多重连接查询的优化设备包括存储器和处理器,所述处理器用于执行所述存储器中存储的程序,运行如权利要求1至7任一项所述的hivesql多重连接查询的优化方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7中任一项所述的hivesql多重连接查询的优化方法的各个步骤。