CN116303538A - 计算引擎选择模型的训练方法、计算引擎选择方法及装置 - Google Patents
计算引擎选择模型的训练方法、计算引擎选择方法及装置 Download PDFInfo
- Publication number
- CN116303538A CN116303538A CN202310274395.3A CN202310274395A CN116303538A CN 116303538 A CN116303538 A CN 116303538A CN 202310274395 A CN202310274395 A CN 202310274395A CN 116303538 A CN116303538 A CN 116303538A
- Authority
- CN
- China
- Prior art keywords
- data
- sql
- calculation engine
- training
- selection model
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000010187 selection method Methods 0.000 title claims abstract description 16
- 238000003058 natural language processing Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 230000002776 aggregation Effects 0.000 claims description 9
- 238000004220 aggregation Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000003066 decision tree Methods 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 241001123248 Arma Species 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001373 regressive effect Effects 0.000 description 1
Images
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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种计算引擎选择模型的训练方法、计算引擎选择方法及装置,属于大数据技术领域。所述方法包括:获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
Description
技术领域
本申请属于大数据技术领域,具体涉及一种计算引擎选择模型的训练方法、计算引擎选择方法及装置。
背景技术
结构化查询语言(Structured Query Language,SQL)是一种数据库的查询和程序设计语言,便于存取数据以及查询、更新和管理关系数据库***。
技术人员在使用大数据平台进行SQL交互查询时,选择不同的计算引擎,其执行效率也不一样,具体是选择哪种计算引擎,往往需要有经验的工程师来决定或进行人工尝试,无自动化的方法,大大增加了时间成本和资源成本。
发明内容
本申请实施例的目的是提供一种计算引擎选择模型的训练方法、计算引擎选择方法及装置,能够解决现有计算引擎选择方式的时间成本和资源成本过高的问题。
第一方面,本申请实施例提供了一种计算引擎选择模型的训练方法,所述方法包括:
获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;
生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;
将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
可选地,所述将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练,包括:
将每条所述SQL语句的向量化数据,每条所述SQL语句对应的引擎标签作为标签值输入所述计算引擎选择模型,获取一维隐层向量表示;
基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练。
可选地,所述获取SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征,包括:
对所述SQL训练集中每条所述SQL语句进行文本分析,确定每条所述SQL语句的文本特征,所述文本特征包括SQL语句中数据表的数量、以及用于表征SQL语句中是否存在聚合函数的信息;
基于自然语言处理NLP技术,对所述SQL训练集中每条所述SQL语句进行文本向量化,以得到每条所述SQL语句的向量化数据;
基于所述SQL语句的文本特征,确定所述SQL语句中涉及的数据表的表名称;
基于所述数据表的表名称,从统计表中获取所述数据表的历史数据,将所述历史数据的最大值作为所述SQL语句中数据表的数据特征。
可选地,所述基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练,包括:
将所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征作为训练数据,每条所述SQL语句对应的引擎标签作为标签值,采用分布式梯度增强库XGBoost或梯度提升决策树GBDT或轻量的梯度提升机LightGBM进行训练。
第二方面,本申请实施例提供了一种计算引擎选择方法,所述方法包括:
获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句;
将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于第一方面所述的方法训练得到的模型。
可选地,所述将所述SQL语句输入计算引擎选择模型,包括:
获取所述SQL语句的文本特征、向量化数据和所述SQL语句中数据表的数据特征;
将所述SQL语句的向量化数据输入所述计算引擎选择模型,并获取一维隐层向量表示;
将所述一维隐层向量表示、所述SQL语句的文本特征和所述SQL语句中数据表的数据特征输入所述计算引擎选择模型。
可选地,所述获取所述SQL语句中数据表的数据特征,包括:
基于所述文本特征,确定所述SQL语句中数据表的表名称;
基于所述表名称,确定所述数据表的历史数据,其中,所述历史数据包括分布式文件***HDFS文件大小;
对所述历史数据采用时间序列预测方法,确定所述数据表的当前数据,所述当前数据为所述数据表的数据特征。
第三方面,本申请实施例提供了一种计算引擎选择模型的训练装置,所述装置包括:
第一获取模块,用于获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;
生成模块,用于生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;
训练模块,用于将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
第四方面,本申请实施例提供了一种计算引擎选择装置,所述装置包括:
第二获取模块,用于获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句;
选择模块,用于将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于第一方面所述的方法训练得到的模型。
第五方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的计算引擎选择模型的训练方法的步骤或如第二方面所述的计算引擎选择方法的步骤。
第六方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的计算引擎选择模型的训练方法的步骤或如第二方面所述的计算引擎选择方法的步骤。
在本申请实施例中,将SQL语句的文本特征、向量化数据和SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,SQL语句对应的引擎标签作为标签值,对计算引擎选择模型进行训练,随着训练数据和对应的标签值不断增加,训练后的计算引擎选择模型的输出结果的准确性会不断提高。训练完成后,当需要为一个SQL语句选择计算引擎时,只需要将SQL语句输入至计算引擎选择模型中,计算引擎选择模型就能够选择出执行时间最短的计算引擎,无需进行人工尝试,实现了自动化,降低了时间成本和资源成本。
附图说明
图1为本申请实施例提供的计算引擎选择模型的训练方法的流程示意图之一;
图2为本申请实施例提供的计算引擎选择方法的流程示意图之一;
图3为本申请实施例提供的计算引擎选择模型的训练方法的流程示意图之二;
图4为本申请实施例提供的计算引擎选择方法的流程示意图之二;
图5为本申请实施例提供的计算引擎选择模型的训练选择装置的结构示意图;
图6为本申请实施例提供的计算引擎选择装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的方法进行详细地说明。
如图1所示,本申请实施例提供的计算引擎选择模型的训练方法,包括如下步骤:
步骤S11,获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征,
SQL训练集中包括多条SQL语句,为了保证计算引擎选择模型的训练之后的输出结果准确性,SQL语句的数量需要尽可能多,并且SQL语句的类型具有多样性。SQL语句的文本特征可以是SQL语句中的数据表信息关系,可以是SQL语句中是否存在聚合函数的信息。
基于自然语言处理(Natural Language Processing,NLP)技术,对SQL语句进行文本向量化后,得到SQL语句的向量化数据。获取SQL语句的数据表,从统计表中找到数据表所对应的数据表信息,从而得到数据表的数据特征。
步骤S12,生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎,
将SQL训练集中每条SQL语句依次在不同的计算引擎中执行(每个计算引擎的资源配置是均衡的),记录SQL语句在不同的计算引擎中的执行时间,得到SQL语句执行时间最短的计算引擎对应的引擎标签。计算引擎可以是第一代批处理基于MapReduce的Hive引擎,第二代流处理Spark引擎,第三代批流一体数据处理Flink引擎,交互式查询Presto,大规模并行处理(Massively Parallel Processing,MPP)架构GreenPlum引擎。不同的SQL语句在不同的计算引擎中的执行时间都是不一致的。
步骤S13,基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
将上述步骤得到的SQL语句的文本特征、向量化数据和SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,SQL语句对应的引擎标签作为标签值,对计算引擎选择模型进行训练,随着训练数据和对应的标签值不断增加,训练后的计算引擎选择模型的输出结果的准确性会不断提高,训练完成后,当需要为一个SQL语句选择计算引擎时,只需要将SQL语句输入至计算引擎选择模型中,计算引擎选择模型就能够选择出执行时间最短的计算引擎,无需进行人工尝试,实现了自动化,降低了时间成本和资源成本。
可选地,步骤S13,将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练,包括:
将每条所述SQL语句的向量化数据,每条所述SQL语句对应的引擎标签作为标签值输入所述计算引擎选择模型,获取一维隐层向量表示;
基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练。
本实施例的计算引擎选择模型包括第一子模型和第二子模型。将SQL语句的向量化数据作为训练数据,SQL语句对应的引擎标签作为标签值输入至第一子模型中,对第一子模型进行训练,每次训练都会提高第一子模型的输出结果的准确性,同时,第一子模型会生成一个对应的一维隐层向量表示,需要说明的是,一维隐层向量表示不是第一子模型的输出结果,而是第一子模型对应的一个参数。再将一维隐层向量表示、SQL语句的文本特征以及SQL语句中数据表的数据特征作为训练数据,SQL语句对应的引擎标签作为标签值,对第二子模型进行训练,第二子模型用于根据输入的一维隐层向量表示、SQL语句的文本特征、SQL语句的数据表的数据特征,输出SQL语句的执行时间最短的计算引擎。上述步骤中,通过SQL语句的向量化数据和第一子模型得到一维隐层向量表示,一维隐层向量表示再结合其他SQL语句的文本特征、数据表的数据特征等相关特征对第二子模型进行训练,得到最终的计算引擎选择模型,与只采用SQL语句的相关特征相比,提高了训练后的计算引擎选择模型的输出结果的准确性。
可选地,将每条所述SQL语句的向量化数据作为训练数据,每条所述SQL语句对应的引擎标签作为标签值,采用卷积神经网络(Convolutional Neural Networks,CNN)或循环神经网络(Recurrent Neural Networks,RNN)进行训练。
可选地,步骤S11,获取SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征,包括:
对所述SQL训练集中每条所述SQL语句进行文本分析,确定每条所述SQL语句的文本特征,所述文本特征包括SQL语句中数据表的数量、以及用于表征SQL语句中是否存在聚合函数的信息,
文本分析是指对文本的表示及其特征想的选取,SQL语句的文本特征包括数据表的数量(具有一个数据表还是多个数据表)、数据表的名称、用于表征SQL语句中是否存在聚合函数的信息,用来判别SQL语句中是否使用了聚合函数。
基于自然语言处理NLP技术,对所述SQL训练集中每条所述SQL语句进行文本向量化,以得到每条所述SQL语句的向量化数据;
基于所述SQL语句的文本特征,确定所述SQL语句中涉及的数据表的表名称;
基于所述数据表的表名称,从统计表中获取所述数据表的历史数据,将所述历史数据的最大值作为所述SQL语句中数据表的数据特征。
可选地,对所述历史数据的最大值进行数据标准化(min-max标准化),将数据标准化后的所述历史数据的最大值作为SQL语句中数据表的数据特征。
需要说明的是,获取统计表的数据采用的是查询Hive表元数据的方式,该方式获得统计表的记录数量的效率较高。优选地,获取统计表数据可在如晚间等非交互查询时间段进行,可抽取部分电信数据表做真实数据统计,其他类型的数据表则根据数据表的数据特点,如业务类型、底层文件大小(统计耗时较短)计算得到。综合上述数据特征、文本特征、向量化数据对计算引擎选择模型进行训练,进一步保证了计算引擎选择模型的输出结果的准确性。
可选地,基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练,包括:
将所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征作为训练数据,每条所述SQL语句对应的引擎标签作为标签值,采用分布式梯度增强库(eXtreme Gradient Boosting,XGBoost)或梯度提升决策树(GradientBoosting Decision Tree,GBDT)或轻量的梯度提升机(Light Gradient BoostingMachine,LightGBM)对所述计算引擎选择模型进行训练。
XGBoost具有高效、灵活的特点。此外,选择不同类型的算法对计算引擎选择模型进行训练,得到的计算引擎选择模型的输出结果准确性也会有不同,可以在实际的计算引擎选择过程中,根据实际结果的准确性来在不同算法对应的计算引擎选择模型中,确定准确性最高的选择模型。
如图3所示的计算引擎选择模型的训练流程示意图,获取原始SQL样本,即SQL训练集。基于NLP技术对SQL语句进行向量化,得到SQL语句的向量化数据。将SQL语句分别在不同的计算引擎中执行,获取时间最短的计算引擎以及与执行时间最短的计算引擎对应的引擎标签。基于文本分析程序,获取SQL语句的文本特征、数据特征,文本特征包括SQL语句中数据表的数量、以及用于表征SQL语句中是否存在聚合函数的信息,数据特征包括SQL语句中数据表的历史数据的最大值的标准化数据。对引擎标签和向量化数据进行特征合并,采用RNN/CNN神经网络训练得到分类器1以及分类器1对应的一维隐层向量表示。分类器1为上述计算引擎选择模型中的第一子模型。对引擎标签、一维隐层向量表示、文本特征、数据特征进行特征合并,采用XGboost训练,得到分类器2,即上述计算引擎选择模型中的第二子模型。
如图2所示,本申请实施例还提供了一种计算引擎选择方法,包括如下步骤:
步骤S21,获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句,
计算引擎选择方法的执行主体获取并响应计算引擎选择请求的同时,获取计算引擎选择请求中包含的SQL语句。
步骤S22,将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于上述实施例的计算引擎选择模型的训练方法训练得到的模型。
本实施例中应用上述计算引擎选择模型的训练方法训练得到的模型,将SQL语句输入至计算引擎选择模型中,模型输出对应的第一数据,第一数据为上述计算引擎选择模型的训练方法中的引擎标签数据,根据引擎标签可选择对应的计算引擎,不用进行人工尝试,大大节约了时间成本和资源成本。
可选地,步骤S22,将所述SQL语句输入计算引擎选择模型,包括:
获取所述SQL语句的文本特征、向量化数据和所述SQL语句中数据表的数据特征;
将所述SQL语句的向量化数据输入所述计算引擎选择模型,并获取一维隐层向量表示;
将所述一维隐层向量表示、所述SQL语句的文本特征和所述SQL语句中数据表的数据特征输入所述计算引擎选择模型。
需要说明的是,本实施例的计算引擎选择模型包括第一子模型和第二子模型,将SQL语句的向量化数据输入第一子模型中,得到一维隐层向量表示。再将一维隐层向量表示、SQL语句的文本特征和SQL语句中数据表的数据特征输入第二子模型中,得到上述用于确定执行时间最短的计算引擎的第一数据。计算引擎选择模型根据SQL语句的文本特征、向量化数据和SQL语句中数据表的数据特征来确定第一数据,保证了第一数据可准确地指示执行时间最短的计算引擎。
可选地,步骤S22,获取所述SQL语句中数据表的数据特征,包括:
基于所述文本特征,确定所述SQL语句中数据表的表名称;
基于所述表名称,确定所述数据表的历史数据,其中,所述历史数据包括分布式文件***(Hadoop Distributed File System,HDFS)文件大小;
对所述历史数据采用时间序列预测方法,确定所述数据表的当前数据,所述当前数据为所述数据表的数据特征。
采用自回归滑动平均(Auto Regression Moving Average,ARMA)算法或差分整合移动平均自回归(Auto Regressive Integrated Moving Average,ARIMA)算法,确定所述数据表的当前数据。示例性的,基于SQL语句中数据表的表名称和数据类型,从统计表中获取到数据表对应数据类型的第T天的历史数据后,采用上述算法得到第T+1天的数据,假设每小时的数据增量一致,可根据数据表的当前时刻计算出数据表的当前数据大小,无需获取实时数据这一耗时步骤,提高了本实施例的计算引擎选择方法的效率。
如图4所示,获取计算引擎选择请求,并获取其中的SQL语句,基于NLP技术,获取SQL语句的向量化数据,将SQL语句的向量化数据输入至分类器1,分类器1为上述计算引擎选择模型中的第一子模型,得到一维隐层向量表示。基于文本分析方法,得到SQL语句的文本特征和数据特征,文本特征如SQL语句是否为单表或多表,即数据表的数量,如是否使用了isSingle、isMult、isGroup等聚合函数。获取SQL语句中数据表的历史数据,采用ARMA模型进行时间拟合,得到当前数据,对当前数据采用min-max标准化,得到数据特征,将数据特征、文本特征、一维隐层向量表示输入至分类器2,即上述计算引擎选择模型的第二子模型中,输出第一数据,根据第一数据选择执行时间最短的计算引擎。
本申请实施例还提供了一种计算引擎选择模型的训练装置,本申请实施例中以计算引擎选择模型的训练装置执行计算引擎选择模型的训练方法为例,并结合附图5说明本申请实施提供的计算引擎选择模型的训练装置500。所述计算引擎选择模型的训练装置500包括:
第一获取模块501,用于获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;
生成模块502,用于生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;
训练模块503,用于将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
可选地,训练模块503还用于:
将每条所述SQL语句的向量化数据,每条所述SQL语句对应的引擎标签作为标签值输入所述计算引擎选择模型,获取一维隐层向量表示;
基于所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征,将每条所述SQL语句对应的引擎标签作为标签值对所述计算引擎选择模型进行训练。
可选地,第一获取模块501还用于:
对所述SQL训练集中每条所述SQL语句进行文本分析,确定每条所述SQL语句的文本特征,所述文本特征包括SQL语句中数据表的数量、以及用于表征SQL语句中是否存在聚合函数的信息;
基于自然语言处理NLP技术,对所述SQL训练集中每条所述SQL语句进行文本向量化,以得到每条所述SQL语句的向量化数据;
基于所述SQL语句的文本特征,确定所述SQL语句中涉及的数据表的表名称;
基于所述数据表的表名称,从统计表中获取所述数据表的历史数据,将所述历史数据的最大值作为所述SQL语句中数据表的数据特征。
可选地,训练模块503还用于:
将所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征作为训练数据,每条所述SQL语句对应的引擎标签作为标签值,采用分布式梯度增强库XGBoost或梯度提升决策树GBDT或轻量的梯度提升机LightGBM进行训练。
训练模型工具的生成装置可以基于SQL语句的文本特征、向量化数据、SQL语句中数据表的数据特征和SQL语句对应的引擎标签对计算引擎选择模型进行训练,以提高计算引擎选择模型的输出结果的准确性。
需要说明的是,本申请实施例所提供的训练模型工具的生成装置能够实现上述训练模型工具的生成方法的全部技术过程,并能达到相同的技术效果,为避免重复,此处不再赘述。
本申请实施例还提供了一种计算引擎选择装置,本申请实施例中以计算引擎选择装置执行计算引擎选择方法为例,并结合附图6说明本申请实施提供的计算引擎选择装置600。所述计算引擎选择装置600包括:
第二获取模块601,用于获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句;
选择模块602,用于将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于上述计算引擎选择模型的训练方法训练得到的模型。
可选地,选择模块602还用于:
获取所述SQL语句的文本特征、向量化数据和所述SQL语句中数据表的数据特征;
将所述SQL语句的向量化数据输入所述计算引擎选择模型,并获取一维隐层向量表示;
将所述一维隐层向量表示、所述SQL语句的文本特征和所述SQL语句中数据表的数据特征输入所述计算引擎选择模型。
可选地,选择模块602还用于:
基于所述文本特征,确定所述SQL语句中数据表的表名称;
基于所述表名称,确定所述数据表的历史数据,其中,所述历史数据包括分布式文件***HDFS文件大小;
对所述历史数据采用时间序列预测方法,确定所述数据表的当前数据,所述当前数据为所述数据表的数据特征。
本申请提供的计算引擎选择装置可以根据输入的SQL语句,自动选择执行时间最短的计算引擎,无需人工操作。
需要说明的是,本申请实施例所提供的计算引擎选择装置能够实现上述计算引擎选择方法的全部技术过程,并能达到相同的技术效果,为避免重复,此处不再赘述。
本申请实施例中的装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(MobileInternet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
可选地,如图7所示,本申请实施例还提供一种电子设备700,包括处理器701和存储器702,存储器702上存储有可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述计算引擎选择模型的训练方法或计算引擎选择方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述计算引擎选择模型的训练方法或计算引擎选择方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种计算引擎选择模型的训练方法,其特征在于,所述方法包括:
获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;
生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;
将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
2.如权利要求1所述的计算引擎选择模型的训练方法,其特征在于,所述将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练,包括:
将每条所述SQL语句的向量化数据,每条所述SQL语句对应的引擎标签作为标签值输入所述计算引擎选择模型,获取一维隐层向量表示;
基于所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征,将每条所述SQL语句对应的引擎标签作为标签值对所述计算引擎选择模型进行训练。
3.如权利要求1所述的计算引擎选择模型的训练方法,其特征在于,所述获取SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征,包括:
对所述SQL训练集中每条所述SQL语句进行文本分析,确定每条所述SQL语句的文本特征,所述文本特征包括SQL语句中数据表的数量、以及用于表征SQL语句中是否存在聚合函数的信息;
基于自然语言处理NLP技术,对所述SQL训练集中每条所述SQL语句进行文本向量化,以得到每条所述SQL语句的向量化数据;
基于所述SQL语句的文本特征,确定所述SQL语句中涉及的数据表的表名称;
基于所述数据表的表名称,从统计表中获取所述数据表的历史数据,将所述历史数据的最大值作为所述SQL语句中数据表的数据特征。
4.如权利要求1至3中任一项所述的计算引擎选择模型的训练方法,其特征在于,所述基于所述一维隐层向量表示、每条所述SQL语句的文本特征、每条所述SQL语句中数据表的数据特征、每条所述SQL语句对应的引擎标签对所述计算引擎选择模型进行训练,包括:
将所述一维隐层向量表示、每条所述SQL语句的文本特征以及每条所述SQL语句中数据表的数据特征作为训练数据,每条所述SQL语句对应的引擎标签作为标签值,采用分布式梯度增强库XGBoost或梯度提升决策树GBDT或轻量的梯度提升机LightGBM进行训练。
5.一种计算引擎选择方法,其特征在于,所述方法包括:
获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句;
将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于权利要求1-4中任一项所述的方法训练得到的模型。
6.如权利要求5所述的计算引擎选择方法,其特征在于,所述将所述SQL语句输入计算引擎选择模型,包括:
获取所述SQL语句的文本特征、向量化数据和所述SQL语句中数据表的数据特征;
将所述SQL语句的向量化数据输入所述计算引擎选择模型,并获取一维隐层向量表示;
将所述一维隐层向量表示、所述SQL语句的文本特征和所述SQL语句中数据表的数据特征输入所述计算引擎选择模型。
7.如权利要求6所述的计算引擎选择方法,其特征在于,所述获取所述SQL语句中数据表的数据特征,包括:
基于所述文本特征,确定所述SQL语句中数据表的表名称;
基于所述表名称,确定所述数据表的历史数据,其中,所述历史数据包括分布式文件***HDFS文件大小;
对所述历史数据采用时间序列预测方法,确定所述数据表的当前数据,所述当前数据为所述数据表的数据特征。
8.一种计算引擎选择模型的训练装置,其特征在于,所述装置包括:
第一获取模块,用于获取结构化查询语言SQL训练集,以及所述SQL训练集中每条SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征;
生成模块,用于生成每条所述SQL语句的引擎标签,所述引擎标签用于指示每条所述SQL语句各自对应的执行时间最短的计算引擎;
训练模块,用于将每条所述SQL语句的文本特征、向量化数据和每条所述SQL语句中数据表的数据特征作为计算引擎选择模型的训练数据,每条所述SQL语句对应的引擎标签作为标签值,对所述计算引擎选择模型进行训练;
其中,训练后的所述计算引擎选择模型用于根据输入的目标SQL语句,输出所述目标SQL语句的执行时间最短的计算引擎。
9.一种计算引擎选择装置,其特征在于,所述装置包括
第二获取模块,用于获取计算引擎选择请求,并获取所述计算引擎选择请求中的SQL语句;
选择模块,用于将所述SQL语句输入计算引擎选择模型中,并获取所述计算引擎选择模型输出的第一数据,所述第一数据用于指示对所述SQL语句的执行时间最短的计算引擎;
其中,所述计算引擎选择模型为基于权利要求1-4中任一项所述的方法训练得到的模型。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至4中任一项所述的计算引擎选择模型的训练方法或如权利要求5至7中任一项所述的计算引擎选择方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310274395.3A CN116303538A (zh) | 2023-03-21 | 2023-03-21 | 计算引擎选择模型的训练方法、计算引擎选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310274395.3A CN116303538A (zh) | 2023-03-21 | 2023-03-21 | 计算引擎选择模型的训练方法、计算引擎选择方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116303538A true CN116303538A (zh) | 2023-06-23 |
Family
ID=86802814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310274395.3A Pending CN116303538A (zh) | 2023-03-21 | 2023-03-21 | 计算引擎选择模型的训练方法、计算引擎选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303538A (zh) |
-
2023
- 2023-03-21 CN CN202310274395.3A patent/CN116303538A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111026842B (zh) | 自然语言处理方法、自然语言处理装置及智能问答*** | |
CN110765246B (zh) | 基于智能机器人的问答方法、装置、存储介质和智能设备 | |
CN109299245B (zh) | 知识点召回的方法和装置 | |
CN112256537B (zh) | 模型运行状态的展示方法、装置、计算机设备和存储介质 | |
Bergmann et al. | On the use of artificial neural networks in simulation-based manufacturing control | |
US20230177089A1 (en) | Identifying similar content in a multi-item embedding space | |
EP3899806A1 (en) | Convolutional neural networks with soft kernel selection | |
CN110377733A (zh) | 一种基于文本的情绪识别方法、终端设备及介质 | |
CN114186084A (zh) | 在线多模态哈希检索方法、***、存储介质及设备 | |
CN114647713A (zh) | 基于虚拟对抗的知识图谱问答方法、设备及存储介质 | |
CN113312468A (zh) | 基于对话模式的话术推荐方法、装置、设备及介质 | |
CN112817560B (zh) | 一种基于表函数的计算任务处理方法、***及计算机可读存储介质 | |
CN114546365A (zh) | 一种流程可视化的建模方法、服务器、计算机***及介质 | |
US20160189026A1 (en) | Running Time Prediction Algorithm for WAND Queries | |
KR20200131736A (ko) | 다중작업 학습을 이용한 텍스트 분류 방법 및 서버 | |
CN116910201A (zh) | 一种对话数据生成方法及其相关设备 | |
CN116303538A (zh) | 计算引擎选择模型的训练方法、计算引擎选择方法及装置 | |
CN108959327B (zh) | 一种业务处理方法、装置及计算机可读存储介质 | |
Agrawal et al. | Early phase software effort estimation model | |
Loh et al. | Implementation of artificial intelligence chatbot in semiconductor manufacturing to optimize overall equipment effectiveness | |
CN114970666A (zh) | 一种口语处理方法、装置、电子设备及存储介质 | |
CN109684466B (zh) | 一种智能教育顾问*** | |
US11842379B2 (en) | Method and system for obtaining item-based recommendations | |
CN116361341B (zh) | 一种人群包圈选方法、装置、计算机设备及介质 | |
CN113127509B (zh) | PaaS平台中SQL执行引擎的适配方法及装置 |
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 |