【技术实现步骤摘要】
计算引擎选择方法、装置及存储介质和电子设备
[0001]本专利技术涉及大数据
,尤其涉及计算引擎选择方法、装置及可读存储介质和电子设备。
技术介绍
[0002]SQL(Structured Query Language,结构化查询语言)是一种高级的非过程化编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
[0003]查询调度是指将使用SQL编写的查询语句调度到大数据平台中合适的计算引擎中执行的过程,该调度过程会根据具体的查询特征和引擎的状态信息来进行。
[0004]公开号为CN110807145A的专利申请公开了一种查询引擎获取方法,该方法先获取SQL语句的特征,然后根据特征获取多个引擎中每个引擎执行包含该特征的查询语句的耗时的权重,最后根据权重大小选择引擎来执行SQL查询。
[0005]这种方法只是简单地对SQL特征进行提取,然后根据各种计算引擎对包含每种特征的SQL语句的查询的固有表现来选取计算引擎,由于仅仅考虑到SQL特征,因此并不能选出性能最优的计算引擎。
技术实现思路
[0006]本专利技术实施例提出计算引擎选择方法、装置及可读存储介质和电子设备,以选择出执行SQL查询语句的性能最优的计算引擎。
[0007]本专利技术实施例的技术方案是这样实现的:
[0008]一种计算引擎选择方法,该方法包括:
[0009]获取待执行的结构化查询语言SQL查询语句的SQL特征;
[0010]获取所述SQL ...
【技术保护点】
【技术特征摘要】
1.一种计算引擎选择方法,其特征在于,该方法包括:获取待执行的结构化查询语言SQL查询语句的SQL特征;获取所述SQL查询语句所要查询的表的数据特征;获取各计算引擎的状态特征;针对每个计算引擎,分别生成一个特征向量,每个特征向量中包含:所述SQL查询语句的SQL特征、所述SQL查询语句所要查询的表的数据特征和对应计算引擎的状态特征;将每个特征向量分别输入到资源消耗预测模型中进行计算,分别得到每个计算引擎执行所述SQL查询语句的预测资源消耗;将每个特征向量分别输入到耗时预测模型中进行计算,分别得到每个计算引擎执行所述SQL查询语句的预测耗时;根据所述每个计算引擎执行所述SQL查询语句的预测资源消耗,以及所述每个计算引擎执行所述SQL查询语句的预测耗时,计算每个计算引擎执行所述SQL查询语句的预测代价;根据所述每个计算引擎执行所述SQL查询语句的预测代价,选择执行所述SQL查询语句的计算引擎。2.根据权利要求1所述的方法,其特征在于,所述获取待执行的SQL查询语句的SQL特征,包括:抽取所述SQL查询语句所要查询的表名;获取所述SQL查询语句包含的语法特征,并抽取每种语法特征涉及的特征值放入SQL特征中。3.根据权利要求2所述的方法,其特征在于,所述获取所述SQL查询语句包含的语法特征,并抽取每种语法特征涉及的特征值放入SQL特征中,包括:判断所述SQL查询语句是否包含SELECT*语法特征,若是,则将SELECT语法特征标志放入SQL特征中;或/和,抽取查询的project列的列数和列类型,将project列的列数和列类型放入SQL特征中;或/和,判断所述SQL查询语句是否包含limit语法特征,若有,则抽取limit值,将limit语法特征标志和limit值放入SQL特征中;或/和,判断所述SQL查询语句是否包含过滤条件,若包含,则抽取过滤表达式,将过滤条件标志和过滤表达式放入SQL特征中;或/和,判断所述SQL查询语句是否包含union语法特征,若包含,则将union语法特征标志放入SQL特征中;或/和,判断所述SQL查询语句是否有聚合函数,若有,则抽取聚合函数类型和聚合列,将聚合函数标志以及聚合函数类型和聚合列放入SQL特征中;或/和,判断所述SQL查询语句是否包含groupby语法特征,若包含,则抽取groupby分组列,将groupby语法特征标志和groupby分组列放入SQL特征中;或/和,判断所述SQL查询语句是否包含orderby语法特征,若包含,则抽取排序列,将orderby语法特征标志和排序列放入SQL特征中;或/和,判断所述SQL查询语句是否包含join语法特征,若是,则抽取join类型,将join语法特
征标志和join类型放入SQL特征中;或/和,判断所述SQL查询语句是否包含子查询,若包含,则将子查询标志放入SQL特征中。4.根据权利要求1所述的方法,其特征在于,所述获取所述SQL查询语句所要查询的表的数据特征,包括:获取...
【专利技术属性】
技术研发人员:曾锐,徐福生,刘骏,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。