PaaS平台中SQL执行引擎的适配方法及装置制造方法及图纸

技术编号:29282994 阅读:13 留言:0更新日期:2021-07-16 23:34
本发明专利技术公开了一种PaaS平台中SQL执行引擎的适配方法及装置,该方法包括:接收用户输入的SQL语句;对SQL语句进行解析,得到SQL元数据信息;将SQL元数据信息中的关键信息从Hadoop平台提取出来,构成表元数据;将SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎选择结果;将SQL语句提供给SQL执行引擎选择结果对应的SQL执行引擎进行执行。通过上述方式,本发明专利技术实现了SQL执行引擎的自动适配,用户使用SQL访问PaaS平台数据时,根据用户提交的SQL自动识别并适配最优的SQL引擎,避免人为经验的不确定性,能够保证在PaaS平台中使用最合适的SQL执行引擎执行相应的SQL语句。句。句。

【技术实现步骤摘要】
PaaS平台中SQL执行引擎的适配方法及装置


[0001]本专利技术涉及计算机
,具体涉及一种PaaS平台中SQL执行引擎的适配方法及装置。

技术介绍

[0002]PaaS(Platform as a Service,平台即服务)平台开放的数据服务底层多是基于hadoop的,其一般的执行流程是用户通过PaaS平台数据服务来访问hadoop的数据,执行计算和存储数据都是在Hadoop上完成。Hadoop上SQL处理引擎较多,主流的有hive、sparkSQL、flink、impala等等。其中,每种SQL处理引擎都有适用于的不同的场景,在擅长的场景下才能发挥最优的效果,在不适合的场景下运行效率和稳定性会大幅下降甚至运行失败。Hadoop平台上使用不合适的SQL引擎运行程序,容易出现运行效率不稳定或者失败的现象,增加业务运维难度。并且,Hadoop平台一般每天都有非常多的程序在运行,大量运行效率不高的程序会造成整个平台计算资源的明显浪费。
[0003]现有技术中,技术人员在开发和提交SQL作业的时候,多是依靠技术人员的经验或者根据反复运行测试的结果确定SQL执行引擎。
[0004]但是,一方面,通过人工经验判断选择执行引擎,严重依赖技术人员的个人能力,无法保证选择的SQL引擎是最适合业务场景的。另一方面,通过选择不同的SQL引擎进行效率测试后再选择哪个最优的引擎的效率较低,并且在各个SQL引擎上重复运行相同程序测试运行效率会造成平台计算资源的浪费。因此,亟需一种高效的SQL执行引擎的适配方法。/>
技术实现思路

[0005]鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的PaaS平台中SQL执行引擎的适配方法及装置。
[0006]根据本专利技术的一个方面,提供了一种PaaS平台中SQL执行引擎的适配方法,包括:
[0007]接收用户输入的SQL语句;
[0008]对SQL语句进行解析,得到SQL元数据信息;
[0009]将SQL元数据信息中的关键信息从Hadoop平台提取出来,构成表元数据;
[0010]将SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎选择结果;
[0011]将SQL语句提供给SQL执行引擎选择结果对应的SQL执行引擎进行执行。
[0012]可选地,方法进一步包括:
[0013]对SQL执行引擎选择结果对应的SQL执行引擎的执行过程进行监测,得到运行性能指标;
[0014]将运行性能指标、SQL元数据信息、表元数据存入历史指标库中。
[0015]可选地,SQL选择器包含至少一个具有预测模型的决策单元;
[0016]则将SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎
选择结果具体包括:
[0017]将SQL元数据信息和表元数据整合为决策请求,将决策请求提供给至少一个决策单元,以供至少一个决策单元进行决策并输出SQL执行引擎决策结果;
[0018]按照投票的方式,从至少一个SQL执行引擎决策结果中选择出SQL执行引擎选择结果。
[0019]可选地,采用自学习的方式,根据历史指标库中的数据对SQL选择器的预测模型进行训练,或者根据历史指标库中的数据对SQL选择器所包含的决策单元的预测模型进行训练。
[0020]可选地,SQL元数据信息包括以下信息中的至少一项:表、字段类型、字段长度、结果字段、排序信息、关联信息、算子类型、插入临时表次数;
[0021]SQL元数据信息中的关键信息包括以下信息中的至少一项:SQL元数据信息中的表信息、SQL元数据信息中的字段信息、SQL元数据信息中的存储信息。。
[0022]根据本专利技术的另一方面,提供了一种PaaS平台中SQL执行引擎的适配装置,包括:
[0023]SQL接收器,用于接收用户输入的SQL语句;
[0024]SQL解析器,用于对SQL语句进行解析,得到SQL元数据信息;
[0025]表元数据获取器,用于将SQL元数据信息中的关键信息从Hadoop平台提取出来,构成表元数据;
[0026]SQL选择器,接收SQL元数据信息和表元数据并进行处理,输出SQL执行引擎选择结果;
[0027]SQL执行器,将SQL语句提供给SQL执行引擎选择结果对应的SQL执行引擎进行执行。
[0028]可选地,装置进一步包括:
[0029]检测模块,用于对SQL执行引擎选择结果对应的SQL执行引擎的执行过程进行监测,得到运行性能指标;
[0030]存储模块,用于将运行性能指标、SQL元数据信息、表元数据存入历史指标库中。
[0031]可选地,SQL选择器包含至少一个具有预测模型的决策单元、数据接收单元、决策输出器;
[0032]数据接收单元,用于接收SQL元数据和表元数据,将SQL元数据信息和表元数据整合为决策请求,将决策请求提供给至少一个决策单元,以供至少一个决策单元进行决策并输出SQL执行引擎决策结果;
[0033]决策输出器,用于按照投票的方式,从至少一个SQL执行引擎决策结果中选择出SQL执行引擎选择结果。
[0034]可选地,装置进一步包括:
[0035]自学习模块,用于采用自学习的方式,根据历史指标库中的数据对SQL选择器的预测模型进行训练,或者根据历史指标库中的数据对SQL选择器所包含的决策单元的预测模型进行训练。
[0036]可选地,SQL元数据信息包括以下信息中的至少一项:表、字段类型、字段长度、结果字段、排序信息、关联信息、算子类型、插入临时表次数;
[0037]SQL元数据信息中的关键信息包括以下信息中的至少一项:SQL元数据信息中的表
信息、SQL元数据信息中的字段信息、SQL元数据信息中的存储信息。。
[0038]根据本专利技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0039]所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述PaaS平台中SQL执行引擎的适配方法对应的操作。
[0040]根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述PaaS平台中SQL执行引擎的适配方法对应的操作。
[0041]根据本专利技术的PaaS平台中SQL执行引擎的适配方法及装置,该方法包括:接收用户输入的SQL语句;对SQL语句进行解析,得到SQL元数据信息;将SQL元数据信息中的关键信息从Hadoop平台提取出来,构成表元数据;将SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎选择结果;将SQL语句提供给SQL执行引擎选择结果对应的SQL执行引擎进行执行。通过上述方式,本专利技术实现了SQL执行引本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种PaaS平台中SQL执行引擎的适配方法,包括:接收用户输入的SQL语句;对所述SQL语句进行解析,得到SQL元数据信息;将所述SQL元数据信息中的关键信息从Hadoop平台提取出来,构成表元数据;将所述SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎选择结果;将所述SQL语句提供给所述SQL执行引擎选择结果对应的SQL执行引擎进行执行。2.根据权利要求1所述的方法,其中,所述SQL选择器包含至少一个具有预测模型的决策单元;则将所述SQL元数据信息和表元数据输入至SQL选择器中进行处理,得到SQL执行引擎选择结果具体包括:将所述SQL元数据信息和表元数据整合为决策请求,将所述决策请求提供给所述至少一个决策单元,以供所述至少一个决策单元进行决策并输出SQL执行引擎决策结果;按照投票的方式,从所述至少一个SQL执行引擎决策结果中选择出SQL执行引擎选择结果。3.根据权利要求1所述的方法,其中,所述方法进一步包括:对所述SQL执行引擎选择结果对应的SQL执行引擎的执行过程进行监测,得到运行性能指标;将所述运行性能指标、所述SQL元数据信息、表元数据存入历史指标库中。4.根据权利要求1-3中任一项所述的方法,其中,所述采用自学习的方式,根据历史指标库中的数据对所述SQL选择器的预测模型进行训练,或者根据历史指标库中的数据对所述SQL选择器所包含的至少一个决策单元的预测模型进行训练。5.根据权利要求1所述的方法,其中,所述SQL元数据信息包括以下信息中的至少一项:表、字段类型、字段长度、结果字段、排序信息、关联信息、算子类型、插入临时表次数;所述SQL元数据信息中的关键信息包括以下信息中的至少一项:SQL元数据信息中的表信息、SQL元数据信息中的字段信息、SQL元数据信息中的存储信息。6.一种PaaS平台...

【专利技术属性】
技术研发人员:颜涛
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1