CN113254472B - 一种参数配置方法、装置、设备及可读存储介质 - Google Patents

一种参数配置方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113254472B
CN113254472B CN202110669598.3A CN202110669598A CN113254472B CN 113254472 B CN113254472 B CN 113254472B CN 202110669598 A CN202110669598 A CN 202110669598A CN 113254472 B CN113254472 B CN 113254472B
Authority
CN
China
Prior art keywords
target
parameter
cost
value
group
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.)
Active
Application number
CN202110669598.3A
Other languages
English (en)
Other versions
CN113254472A (zh
Inventor
赵鹏飞
钱浩东
周明伟
李丛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110669598.3A priority Critical patent/CN113254472B/zh
Publication of CN113254472A publication Critical patent/CN113254472A/zh
Application granted granted Critical
Publication of CN113254472B publication Critical patent/CN113254472B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种参数配置方法、装置、设备及可读存储介质。该方法包括:响应于参数推荐操作,获取目标配置参数集合的至少一组候选取值,并基于目标应用中包含的SQL语句,得到目标代价的代价取值,其中,目标代价用于表征目标应用的数据集规模和SQL逻辑;针对至少一组候选取值中的任意一组候选取值,将任意一组候选取值和代价取值,输入至训练后的参数推荐模型中,得到任意一组候选取值对应的预测性能值,基于得到的至少一个预测性能值和至少一组候选取值,确定目标配置参数的目标取值。这样,通过参数推荐模型进行参数配置,提高了参数配置效率和准确率,同时提升了应用计算性能。

Description

一种参数配置方法、装置、设备及可读存储介质
技术领域
本申请涉及大数据技术领域,特别涉及一种参数配置方法、装置、设备及可读存储介质。
背景技术
随着大数据时代的到来,大数据处理技术不断发展,同时也产生了多种大数据处理平台,Spark是其中典型代表。Spark是一种基于内存计算的分布式大数据并行处理平台,而参数配置会直接影响Spark的作业性能。
目前,基于Spark开发的应用(简称为Spark应用)的参数配置通常依赖于人工配置,然后通过Spark应用运行时的实际负载进行参数调整。
然而,现有的参数配置方式通常采用人工配置,存在配置效率低、需要多次运行调整参数以及由此造成的大量占用***资源的问题,此外,人工配置也容易造成Spark平台操作复杂性高、稳定性差的问题。
发明内容
本申请实施例提供一种参数配置方法、装置、设备及可读存储介质,用以解决现有技术中参数配置效率低的问题。
第一方面,本申请实施例提供了一种参数配置方法,所述方法包括:
响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的结构化查询语句SQL语句,得到所述目标应用的目标代价的代价取值,其中,目标代价用于表征所述目标应用的数据集规模和SQL逻辑;
针对所述至少一组候选取值中的任意一组候选取值,将所述任意一组候选取值和所述代价取值,输入至训练后的参数推荐模型中,得到所述任意一组候选取值对应的预测性能值;其中,所述参数推荐模型是基于所述目标应用的历史运行记录训练得到的;
基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值。
可选的,所述响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的SQL,得到所述目标应用的目标代价的代价取值之前,还包括:
基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合;
基于预设的SQL语句,确定所述目标应用的目标代价;
从所述目标应用的历史运行记录中,提取出所述目标配置参数集合的历史取值和所述目标代价的历史取值,作为训练数据集;
基于所述训练数据集,对所述初始参数推荐模型进行训练,得到训练后的参数推荐模型。
可选的,所述基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合,具体包括:
若所述历史运行状态信息中包含所述目标应用中各个候选参数的使用频率,则基于所述各个候选参数的使用频率,从所述各个候选参数中,选取出目标配置参数,其中,所述目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;
基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
可选的,所述基于预设的SQL语句,确定所述目标应用的目标代价,具体包括:
采用预设的代价算法,对所述预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照所述各个算子的代价的取值,从所述各个算子的代价中,确定目标代价。
可选的,所述获取目标应用的目标配置参数集合的至少一组候选取值,具体包括:
获取预设的所述目标配置参数集合中各个目标配置参数的参数取值范围;
基于所述各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
可选的,所述基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值,具体包括:
若得到的至少一个预测性能值中包含所述目标应用的运行时长,则基于运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为运行时长最短的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率,则基于资源占用率,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为资源占用率最小的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率和运行时长,则基于资源占用率和运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
第二方面,本申请实施例中提供了一种参数配置装置,包括:
获取单元,用于响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的结构化查询语句SQL语句,得到所述目标应用的目标代价的代价取值,其中,目标代价用于表征所述目标应用的数据集规模和SQL逻辑;
预测单元,用于针对所述至少一组候选取值中的任意一组候选取值,将所述任意一组候选取值和所述代价取值,输入至训练后的参数推荐模型中,得到所述任意一组候选取值对应的预测性能值;其中,所述参数推荐模型是基于所述目标应用的历史运行记录训练得到的;
确定单元,用于基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值。
可选的,所述装置还包括训练单元,所述训练单元用于:
基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合;
基于预设的SQL语句,确定所述目标应用的目标代价;
从所述目标应用的历史运行记录中,提取出所述目标配置参数集合的历史取值和所述目标代价的历史取值,作为训练数据集;
基于所述训练数据集,对所述初始参数推荐模型进行训练,得到训练后的参数推荐模型。
可选的,所述基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合时,所述训练单元具体用于:
若所述历史运行状态信息中包含所述目标应用中各个候选参数的使用频率,则基于所述各个候选参数的使用频率,从所述各个候选参数中,选取出目标配置参数,其中,所述目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;
基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
可选的,所述基于预设的SQL语句,确定所述目标应用的目标代价时,所述训练单元具体用于:
采用预设的代价算法,对所述预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照所述各个算子的代价的取值,从所述各个算子的代价中,确定目标代价。
可选的,所述获取目标应用的目标配置参数集合的至少一组候选取值时,所述获取单元具体用于:
获取预设的所述目标配置参数集合中各个目标配置参数的参数取值范围;
基于所述各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
可选的,所述基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值时,所述确定单元具体用于:
若得到的至少一个预测性能值中包含所述目标应用的运行时长,则基于运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为运行时长最短的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率,则基于资源占用率,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为资源占用率最小的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率和运行时长,则基于资源占用率和运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
基于同一发明构思,本申请实施例还提供了一种参数配置装置,包括存储器和处理器,所述处理器被配置为实现上述任一种参数配置方法。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一种参数配置方法的步骤。
基于同一发明构思,本申请实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种参数配置方法的步骤。
本申请实施例中,响应于参数推荐操作,获取目标配置参数集合的至少一组候选取值,并基于目标应用中包含的SQL语句,得到目标代价的代价取值,其中,目标代价用于表征目标应用的数据集规模和SQL逻辑;针对至少一组候选取值中的任意一组候选取值,将任意一组候选取值和代价取值,输入至训练后的参数推荐模型中,得到相应的预测性能值,基于得到的至少一个预测性能值和至少一组候选取值,确定目标配置参数的目标取值。这样,基于训练后的参数推荐模型得到目标配置参数的目标取值,提高了参数配置效率,同时,由于考虑到了目标配置参数和代价特征,因此,提升了应用计算性能,从而提高了参数配置的准确率。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种训练参数推荐模型的流程示意图;
图3为本申请实施例提供的Spark SQL的逻辑示意图;
图4为本申请实施例提供的获取训练数据集的逻辑示意图;
图5为本申请实施例提供的一种参数配置制方法的流程示意图;
图6为本申请实施例提供的一种参数配置装置的示意图;
图7为本申请实施例提供的一种计算机设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例的附图,对本申请实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)Spark,是专为大规模数据处理而设计的快速通用的计算引擎。Spark的任务中间输出结果可以保存在内存中,从而不再需要读写分布式文件***(Hadoop DistributedFile System,HDFS),因此,计算性能优越。本申请实施例中,目标应用为Spark应用,用于执行各种类型的计算任务,例如,计算网购销量、计算网页点击率。
(2)线性回归,是统计学中利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。简单来说,当确定好每项自变量的权重后,输入自变量就可以得到因变量(也可以称为预测值)。
(3)基于代价的优化(Cost-Based Optimization,CBO),用于所有可能的物理计划的代价,并挑选出代价最小的物理执行计划。其核心在于评估一个给定的物理执行计划的代价。它根据数据本身的特点(输入数据集大小)和SQL中操作算子的特点(SQL逻辑),从而更好的选择执行代价最小的物理执行计划。
参阅图1所示,其为本申请实施例提供的一种应用场景。该应用场景图中包括两个终端设备110和一个服务器130,可通过终端设备110登录相关界面120。终端设备110与服务器130之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器130可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器130连接,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在本申请实施例中,用户通过终端设备110可登陆应用相关界面120,终端设备110通过响应用户在界面120触发的各种操作,实现参数配置,例如:参数推荐操作,示例性的,参数推荐操作包括但不限于是鼠标操作、键盘操作、触摸操作等。
服务器响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于目标应用中包含的结构化查询语句SQL语句,得到目标应用的目标代价的代价取值,然后,针对至少一组候选取值中的任意一组候选取值,将任意一组候选取值和代价取值,输入至训练后的参数推荐模型中,得到任意一组候选取值对应的预测性能值。进一步的,服务器还可以将目标配置参数的目标取值返回给终端设备。
参阅图2所示,其为本申请实施例中提供的一种参数推荐模型的训练方法的流程示意图,该方法可以参数配置装置,参数配置装置可以是终端设备,也可以是服务器,该方法包括:
S201、参数配置装置基于目标应用的历史运行状态信息,确定目标应用的目标配置参数集合。
配置参数也可以称为计算参数,示例性的,配置参数包括但不限于是指spark.executor.memory、spark.sql.shuffle.partitions、spark.driver.memory等,其中,spark.executor.memory用于配置执行进程(executor)的最大堆内存,spark.sql.shuffle.partitions用于配置数据混洗计算后的分区数量,spark.driver.memory用于配置驱动(driver)进程的最大堆内存。
由于配置参数的数量巨大,考虑到特征数量对参数推荐模型的影响,为了提高参数推荐模型的模型预测准确率和效率,在一种可能的实现方式中,若历史运行状态信息中包含目标应用中各个候选参数的使用频率,则参数配置装置基于各个候选参数的使用频率,从各个候选参数中,选取出目标配置参数,其中,目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;参数配置装置基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
以候选参数为spark.executor.memory、spark.sql.shuffle.partitions、spark.driver.memory为例,假设,历史运行状态信息中包含目标应用的spark.executor.memory、spark.sql.shuffle.partitions、spark.driver.memory的使用频率分别为20次/天、10次/天、15次/天,预设的次数阈值为13次/天,参数配置装置基于spark.executor.memory、spark.sql.shuffle.partitions和spark.driver.memory的使用频率,从spark.executor.memory、spark.sql.shuffle.partitions和spark.driver.memory中,选取出目标配置参数:spark.executor.memory和spark.sql.shuffle.partitions,然后,参数配置装置基于选取出的spark.executor.memory和spark.sql.shuffle.partitions,得到目标应用的目标配置参数集合{spark.executor.memory、spark.sql.shuffle.partitions}。
需要说明的是,本申请实施例中,目标配置参数是指经特征转换后的配置参数,特征转换的方式可以采用但不限于主成分分析(Principal Component Analysis,PCA)、独立成分分析(Independent Component Analysis,ICA)、随机成分分析(Random ComponentAnalysis,RCA)等,本申请对此不作限制,在此不再赘述。
S202、参数配置装置基于预设的SQL语句,确定目标应用的目标代价。
具体的,参数配置装置采用预设的代价算法,对预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照各个算子的代价的取值,从各个算子的代价中,确定目标代价。
本申请实施例中,预设的代价算法可以采用但不限于CBO。代价包括但不限于中央处理器(中央处理器,CPU)代价和输入/输出(Input/Output,I/O)代价中的一项或多项,其中,CPU代价用于表征每一操作所需要的机器运行周期的数量级,I/O代价用于表征每一操作的物理块读入、写出的数量级。
SQL语句中包含的算子包括但不限于是指聚合(group by)算子、连接(join)算子等。
仅以join算子为例,参数配置装置可以采用但不限于以下公式,计算join算子的代价:
cost=rows*weight+size*(1- weight)
其中,rows表示记录行数,rows用于表征CPU代价,size用于表征I/O代价,weight用于表征权重系数,weight的默认值为0.7。
作为一种示例,参数配置装置可以按照从大到小的顺序,从各个算子的代价中,选取预设数目的算子的代价,作为目标代价。
例如,参数配置装置采用预设的代价算法,对目标应用中包含的SQL语句进行代价计算,得到SQL语句中包含的join算子的代价和group by算子的代价,其中,join算子的代价为20,group by算子的代价为10,假设,预设数目为2,按照各个算子的代价的取值,从各个算子的代价中,确定目标代价为join算子的代价和group by算子的代价。
作为另一种示例,参数配置装置还可以基于各个算子的代价的取值,从各个算子的代价中,选取取值达到预设的代价门限的代价,作为目标代价。
仍以join算子的代价和group by算子的代价为例,假设,预设的代价门限为15,参数配置装置基于join算子的代价和group by算子的代价的取值,从join算子的代价和group by算子的代价中,选取取值达到预设的代价门限15的代价:join算子的代价,作为目标代价。
参阅图3所示,其为本申请实施例中提供的一种Spark SQL的逻辑示意图,Spark获取SQL语句和数据集(DataFrame)之后,通过优化器(Catalyst)将SQL语句转换为多个物理执行计划,CBO根据代价模型(Cost Model)计算出每一个物理执行计划的代价,并从多个物理执行计划中,选取代价最小的物理执行计划,作为目标执行计划,进而Spark基于有向无环图(Directed Acyclic Graph,DAG)、弹性分布式数据集(Resilient DistributedDataset,RDD)执行目标执行计划。在执行DAG的过程中,自适应执行器(AdaptiveExecution,AE)可以根据运行时信息,动态调整执行计划从而提高执行效率。
在优化器(Catalyst)中,解析器(Parser)解析SQL语句,生成未绑定逻辑计划(Unresolved Logical Plan),分析器(Analyzer)基于未绑定逻辑计划,结合目录(Catalog)信息(图中未示出),生成绑定逻辑计划(Resolved Logical Plan),基于规则的优化器(Rule-Based Optimizer,RBO)根据预先定义好的规则对绑定逻辑计划进行优化,并生成优化逻辑计划(Optimized Logical Plan),进而查询规划器(Query Planner)将生成优化逻辑计划转换为多个物理执行计划(Physical Plan)。
需要说明的是,本申请实施例中,目标代价是指经特征转换后代价,特征转换的方式可以采用但不限于PCA、ICA、RCA等,本申请对此不作限制,在此不再赘述。
S203、参数配置装置从目标应用的历史运行记录中,提取出目标配置参数集合的历史取值和目标代价的历史取值,作为训练数据集。
本申请实施例中,目标应用的历史运行记录可以存储于HDFS,本申请对此不作限定。
参阅图4所示,参数配置装置从目标应用的历史运行记录中,提取出目标配置参数集合{spark.executor.memory、spark.sql.shuffle.partitions}的历史取值,以及目标代价(join算子的代价)的历史取值,作为训练数据集。
S204、参数配置装置基于训练数据集,对初始参数推荐模型进行训练,得到训练后的参数推荐模型。
需要说明的是,本申请实施例中,可以采用但不限于线性回归算法对初始参数推荐模型进行训练。
下面,基于训练后的参数推荐模型,对本申请实施例中提供的参数配置方法进行说明。
参阅图5所示,其为本申请实施例提供的一种参数配置方法,该方法可以应用于参数配置装置,参数配置装置可以是终端设备,也可以是服务器,如图5所示,该方法包括:
S501、参数配置装置响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于目标应用中包含的SQL语句,得到目标应用的目标代价的代价取值,其中,目标代价用于表征目标应用的数据集规模和SQL逻辑。
具体的,本申请实施例中,参数配置装置获取目标应用的目标配置参数集合的至少一组候选取值,可以采用但不限于以下方式:
参数配置装置获取预设的目标配置参数集合中各个目标配置参数的参数取值范围;参数配置装置基于各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
需要说明的是,本申请实施例中,预设的组合方式包括但不限于是指对参数取值进行排列组合。
例如,目标配置参数集合{spark.executor.memory、spark.sql.shuffle.partitions}中,spark.executor.memory的参数取值范围为{1,2,3},spark.sql.shuffle.partitions的参数取值范围为{1,2},参数配置装置获取spark.executor.memory和spark.sql.shuffle.partitions的参数取值范围,然后,基于spark.executor.memory和spark.sql.shuffle.partitions的参数取值范围,按照预设的组合方式,得到6组候选取值,其中,第一组候选取值为{1,1},第二组候选取值为{1,2},第三组候选取值为{2,1},第四组候选取值为{2,2},第五组候选取值为{3,1},第六组候选取值为{3,2}。
具体的,参数配置装置可以采用预设的代价算法,对目标应用中包含的SQL语句进行代价计算,得到目标应用的目标代价的代价取值,该过程与上述S202中代价计算的过程相同,在此不再赘述。
S502、参数配置装置针对至少一组候选取值中的任意一组候选取值,将任意一组候选取值和代价取值,输入至训练后的参数推荐模型中,得到任意一组候选取值对应的预测性能值;其中,参数推荐模型是基于目标应用的历史运行记录训练得到的。
例如,参数配置装置针对6组候选取值,将第一组候选取值{1,1}和代价取值,输入至训练后的参数推荐模型中,得到第一组候选取值对应的预测性能值1,将第二组候选取值{1,2}和代价取值,输入至训练后的参数推荐模型中,得到第二组候选取值对应的预测性能值2,类似的,得到第三、四、五、六组候选取值分别对应的预测性能值3、预测性能值4、预测性能值5、预测性能值6。
S503、参数配置装置基于得到的至少一个预测性能值和至少一组候选取值,确定目标配置参数的目标取值。
具体的,执行S503时,可以采用但不限以下几种可能的方式:
第一种可能的方式:
若得到的至少一个预测性能值中包含目标应用的运行时长,则参数配置装置基于运行时长,从至少一组候选取值中,确定目标配置参数的目标取值,其中,目标取值为运行时长最短的预测性能值对应的一组候选取值。
例如,假设,预测性能值1-预测性能值6中,表征运行时长最短的预测性能值为预测性能值2,则参数配置装置基于运行时长,从6组候选取值中,确定目标配置参数的目标取值为第二组候选取值{1,2},即spark.executor.memory、spark.sql.shuffle.partitions的取值分别为1、2。
第二种可能的方式:
若得到的至少一个预测性能值中包含目标应用的资源占用率,则参数配置装置基于资源占用率,从至少一组候选取值中,确定目标配置参数的目标取值,其中,目标取值为资源占用率最小的预测性能值对应的一组候选取值。
例如,假设,预测性能值1-预测性能值6中,表征资源占用率最小的预测性能值为预测性能值1,参数配置装置基于资源占用率,从6组候选取值中,确定目标配置参数的目标取值为第一组候选取值{1,1},即spark.executor.memory、spark.sql.shuffle.partitions的取值分别为1、1。
第三种可能的方式:
若得到的至少一个预测性能值中包含目标应用的资源占用率和运行时长,则参数配置装置基于资源占用率和运行时长,从至少一组候选取值中,确定目标配置参数的目标取值,其中,目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
例如,假设,预设时长门限为10秒,预设资源占用门限为2%,预测性能值1-预测性能值6中的包含目标应用的资源占用率依次为1.5%,3%,4%,5%,3%,1%,预测性能值1-预测性能值6中的包含目标应用的运行时长依次为8秒,5秒,5秒,3秒,5秒,11秒,其中,预测性能值1的运行时长小于预设时长门限,且资源占用率低于预设资源占用门限,参数配置装置基于资源占用率和运行时长,从6组候选取值中,确定目标配置参数的目标取值为第一组候选取值{1,1},即spark.executor.memory、spark.sql.shuffle.partitions的取值分别为1、1。
本申请实施例中,响应于参数推荐操作,获取目标配置参数集合的至少一组候选取值,并基于目标应用中包含的SQL语句,得到目标代价的代价取值,其中,目标代价用于表征目标应用的数据集规模和SQL逻辑;针对至少一组候选取值中的任意一组候选取值,将任意一组候选取值和代价取值,输入至训练后的参数推荐模型中,得到相应的预测性能值,基于得到的至少一个预测性能值和至少一组候选取值,确定目标配置参数的目标取值。这样,基于训练后的参数推荐模型得到目标配置参数的目标取值,提高了参数配置效率,同时,由于考虑到了目标配置参数和代价特征,因此,提升了应用计算性能,从而提高了参数配置的准确率。
基于同一发明构思,如图6所示,本申请实施例还提供了一种参数配置装置600,包括:
获取单元601,用于响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的结构化查询语句SQL语句,得到所述目标应用的目标代价的代价取值,其中,目标代价用于表征所述目标应用的数据集规模和SQL逻辑;
预测单元602,用于针对所述至少一组候选取值中的任意一组候选取值,将所述任意一组候选取值和所述代价取值,输入至训练后的参数推荐模型中,得到所述任意一组候选取值对应的预测性能值;其中,所述参数推荐模型是基于所述目标应用的历史运行记录训练得到的;
确定单元603,用于基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值。
可选的,所述装置还包括训练单元604,所述训练单元604用于:
基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合;
基于预设的SQL语句,确定所述目标应用的目标代价;
从所述目标应用的历史运行记录中,提取出所述目标配置参数集合的历史取值和所述目标代价的历史取值,作为训练数据集;
基于所述训练数据集,对所述初始参数推荐模型进行训练,得到训练后的参数推荐模型。
可选的,所述基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合时,所述训练单元604具体用于:
若所述历史运行状态信息中包含所述目标应用中各个候选参数的使用频率,则基于所述各个候选参数的使用频率,从所述各个候选参数中,选取出目标配置参数,其中,所述目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;
基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
可选的,所述基于预设的SQL语句,确定所述目标应用的目标代价时,所述训练单元604具体用于:
采用预设的代价算法,对所述预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照所述各个算子的代价的取值,从所述各个算子的代价中,确定目标代价。
可选的,所述获取目标应用的目标配置参数集合的至少一组候选取值时,所述获取单元601具体用于:
获取预设的所述目标配置参数集合中各个目标配置参数的参数取值范围;
基于所述各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
可选的,所述基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值时,所述确定单元603具体用于:
若得到的至少一个预测性能值中包含所述目标应用的运行时长,则基于运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为运行时长最短的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率,则基于资源占用率,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为资源占用率最小的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率和运行时长,则基于资源占用率和运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
基于同一发明构思,本申请实施例还提供了一种参数配置装置,包括存储器和处理器,处理器被配置为实现上述任一种参数配置方法。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一种参数配置方法的步骤。
基于同一发明构思,如图7所示,本申请实施例还提供了一种计算机设备700,包括存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序,处理器702执行程序时实现上述任一种参数配置方法的步骤。
具体地,处理器702可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器701可以包括用于存储数据或指令的大容量存储器。举例来说而非限制,存储器701可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器701可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器701可在数据处理装置的内部或外部。在特定实施例中,存储器701是非易失性固态存储器。在特定实施例中,存储器701包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器702通过读取并执行存储器701中存储的计算机程序指令,以实现上述实施例中的参数配置方法。
对于***/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (14)

1.一种参数配置方法,其特征在于,包括:
响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的结构化查询语句SQL语句,得到所述目标应用的目标代价的代价取值,其中,目标代价用于表征所述目标应用的数据集规模和SQL逻辑,所述目标代价是基于预设的SQL语句中包含的各个算子的代价确定;
针对所述至少一组候选取值中的任意一组候选取值,将所述任意一组候选取值和所述代价取值,输入至训练后的参数推荐模型中,得到所述任意一组候选取值对应的预测性能值;其中,所述参数推荐模型是根据基于所述目标应用的历史运行记录得到的训练数据集训练得到的;
基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值。
2.如权利要求1所述的方法,其特征在于,所述响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的SQL,得到所述目标应用的目标代价的代价取值之前,还包括:
基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合;
基于预设的SQL语句,确定所述目标应用的目标代价;
从所述目标应用的历史运行记录中,提取出所述目标配置参数集合的历史取值和所述目标代价的历史取值,作为训练数据集;
基于所述训练数据集,对初始参数推荐模型进行训练,得到训练后的参数推荐模型。
3.如权利要求2所述的方法,其特征在于,所述基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合,具体包括:
若所述历史运行状态信息中包含所述目标应用中各个候选参数的使用频率,则基于所述各个候选参数的使用频率,从所述各个候选参数中,选取出目标配置参数,其中,所述目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;
基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
4.如权利要求2所述的方法,其特征在于,所述基于预设的SQL语句,确定所述目标应用的目标代价,具体包括:
采用预设的代价算法,对所述预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照所述各个算子的代价的取值,从所述各个算子的代价中,确定目标代价。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述获取目标应用的目标配置参数集合的至少一组候选取值,具体包括:
获取预设的所述目标配置参数集合中各个目标配置参数的参数取值范围;
基于所述各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
6.如权利要求1-4中任一项所述的方法,其特征在于,所述基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值,具体包括:
若得到的至少一个预测性能值中包含所述目标应用的运行时长,则基于运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为运行时长最短的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率,则基于资源占用率,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为资源占用率最小的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率和运行时长,则基于资源占用率和运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
7.一种参数配置装置,其特征在于,包括:
获取单元,用于响应于参数推荐操作,获取目标应用的目标配置参数集合的至少一组候选取值,并基于所述目标应用中包含的结构化查询语句SQL语句,得到所述目标应用的目标代价的代价取值,其中,目标代价用于表征所述目标应用的数据集规模和SQL逻辑,所述目标代价是基于预设的SQL语句中包含的各个算子的代价确定;
预测单元,用于针对所述至少一组候选取值中的任意一组候选取值,将所述任意一组候选取值和所述代价取值,输入至训练后的参数推荐模型中,得到所述任意一组候选取值对应的预测性能值;其中,所述参数推荐模型是根据基于所述目标应用的历史运行记录得到的训练数据集训练得到的;
确定单元,用于基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值。
8.如权利要求7所述的装置,其特征在于,还包括训练单元,所述训练单元用于:
基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合;
基于预设的SQL语句,确定所述目标应用的目标代价;
从所述目标应用的历史运行记录中,提取出所述目标配置参数集合的历史取值和所述目标代价的历史取值,作为训练数据集;
基于所述训练数据集,对初始参数推荐模型进行训练,得到训练后的参数推荐模型。
9.如权利要求8所述的装置,其特征在于,所述基于所述目标应用的历史运行状态信息,确定所述目标应用的目标配置参数集合时,所述训练单元具体用于:
若所述历史运行状态信息中包含所述目标应用中各个候选参数的使用频率,则基于所述各个候选参数的使用频率,从所述各个候选参数中,选取出目标配置参数,其中,所述目标配置参数用于表征使用频率达到预设的次数阈值的候选参数;
基于选取出的各个目标配置参数,得到目标应用的目标配置参数集合。
10.如权利要求8所述的装置,其特征在于,所述基于预设的SQL语句,确定所述目标应用的目标代价时,所述训练单元具体用于:
采用预设的代价算法,对所述预设的SQL语句进行代价计算,得到预设的SQL语句中包含的各个算子的代价;
按照所述各个算子的代价的取值,从所述各个算子的代价中,确定目标代价。
11.如权利要求7-10中任一项所述的装置,其特征在于,所述获取目标应用的目标配置参数集合的至少一组候选取值时,所述获取单元具体用于:
获取预设的所述目标配置参数集合中各个目标配置参数的参数取值范围;
基于所述各个目标配置参数的参数取值范围,按照预设的组合方式,得到至少一组候选取值。
12.如权利要求7-10中任一项所述的装置,其特征在于,所述基于得到的至少一个预测性能值和所述至少一组候选取值,确定所述目标配置参数的目标取值时,所述确定单元具体用于:
若得到的至少一个预测性能值中包含所述目标应用的运行时长,则基于运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为运行时长最短的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率,则基于资源占用率,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为资源占用率最小的预测性能值对应的一组候选取值;或者,
若得到的至少一个预测性能值中包含所述目标应用的资源占用率和运行时长,则基于资源占用率和运行时长,从所述至少一组候选取值中,确定所述目标配置参数的目标取值,其中,所述目标取值为:运行时长小于预设时长门限,且资源占用率低于预设资源占用门限的预测性能值对应的一组候选取值。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的参数配置方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述的参数配置方法的步骤。
CN202110669598.3A 2021-06-17 2021-06-17 一种参数配置方法、装置、设备及可读存储介质 Active CN113254472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110669598.3A CN113254472B (zh) 2021-06-17 2021-06-17 一种参数配置方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110669598.3A CN113254472B (zh) 2021-06-17 2021-06-17 一种参数配置方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113254472A CN113254472A (zh) 2021-08-13
CN113254472B true CN113254472B (zh) 2021-11-16

Family

ID=77188316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110669598.3A Active CN113254472B (zh) 2021-06-17 2021-06-17 一种参数配置方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113254472B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113769387A (zh) * 2021-09-18 2021-12-10 网易(杭州)网络有限公司 游戏图形参数配置的方法、装置及终端设备
CN114861781B (zh) * 2022-04-25 2023-03-24 北京科杰科技有限公司 自动调参优化方法、装置、电子设备
CN115392592B (zh) * 2022-10-25 2023-03-24 浪潮电子信息产业股份有限公司 一种存储产品参数配置推荐方法、装置、设备及介质
CN116048817B (zh) * 2023-03-29 2023-06-27 腾讯科技(深圳)有限公司 数据处理控制方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229693B (zh) * 2017-05-22 2018-05-01 哈工大大数据产业有限公司 基于深度学习的大数据***配置参数调优的方法和***
US20190102693A1 (en) * 2017-09-29 2019-04-04 Facebook, Inc. Optimizing parameters for machine learning models
CN110689160B (zh) * 2019-07-08 2022-08-23 南京邮电大学 一种针对大规模复杂***的参数配置优化方法及装置
CN112596392A (zh) * 2020-12-24 2021-04-02 青岛科创信达科技有限公司 基于大数据的猪舍环境控制器参数自动配置及优化方法

Also Published As

Publication number Publication date
CN113254472A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN113254472B (zh) 一种参数配置方法、装置、设备及可读存储介质
US11222285B2 (en) Feature selection method, device and apparatus for constructing machine learning model
CN111652380B (zh) 针对机器学习算法进行算法参数调优的方法及***
RU2607621C2 (ru) Способ, система и машиночитаемый носитель данных для группирования в социальных сетях
US10229160B2 (en) Search results based on a search history
US10013656B1 (en) Methods and apparatus for analytical processing of provenance data for HPC workflow optimization
CN108833458B (zh) 一种应用推荐方法、装置、介质及设备
WO2014193399A1 (en) Influence score of a brand
CN107305611B (zh) 恶意账号对应的模型建立方法和装置、恶意账号识别的方法和装置
CN104951465A (zh) 应用推荐方法及装置
CN103077254A (zh) 网页获取方法和装置
CN108108490B (zh) Hive表扫描方法、装置、计算机设备及存储介质
CN114690731B (zh) 一种关联场景推荐方法、装置、存储介质及电子装置
CN113360300B (zh) 接口调用链路生成方法、装置、设备及可读存储介质
JP5973935B2 (ja) 閲覧行動予測装置、閲覧行動予測方法及びプログラム
US20210357553A1 (en) Apparatus and method for option data object performance prediction and modeling
CN105095258A (zh) 一种媒体信息排序方法、装置和媒体信息推荐***
CN109492844B (zh) 业务策略的生成方法和装置
CN114722293A (zh) 信息处理方法、装置、设备及介质
CN109902831B (zh) 业务决策处理方法以及装置
CN114595146A (zh) Ab测试方法、装置、***、电子设备及介质
CN114329231A (zh) 对象特征处理方法、装置、电子设备及存储介质
US9536199B1 (en) Recommendations based on device usage
CN109840790B (zh) 用户流失的预测方法、装置及计算机设备
JPWO2011016281A1 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム

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
GR01 Patent grant
GR01 Patent grant