CN110263869B - 一种Spark任务的时长预测方法及装置 - Google Patents

一种Spark任务的时长预测方法及装置 Download PDF

Info

Publication number
CN110263869B
CN110263869B CN201910554560.4A CN201910554560A CN110263869B CN 110263869 B CN110263869 B CN 110263869B CN 201910554560 A CN201910554560 A CN 201910554560A CN 110263869 B CN110263869 B CN 110263869B
Authority
CN
China
Prior art keywords
neural network
spark
task
network prediction
calculation task
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
CN201910554560.4A
Other languages
English (en)
Other versions
CN110263869A (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.)
MIGU Culture Technology Co Ltd
Original Assignee
MIGU Culture 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 MIGU Culture Technology Co Ltd filed Critical MIGU Culture Technology Co Ltd
Priority to CN201910554560.4A priority Critical patent/CN110263869B/zh
Publication of CN110263869A publication Critical patent/CN110263869A/zh
Application granted granted Critical
Publication of CN110263869B publication Critical patent/CN110263869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Abstract

本发明实施例提供一种Spark任务的时长预测方法及装置,其中方法包括:获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果;神经网络预测模型中第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到。本实施例提高了Spark计算任务执行时长的预测准确性。

Description

一种Spark任务的时长预测方法及装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种Spark任务的时长预测方法及装置。
背景技术
目前对Spark任务执行的成本评估或执行优化方案包括多种,且可分为如下几类:其一,基于有向无环图(Directed Acyclic Graph,DAG)计算出每个弹性分布式数据集(Resilient Distributed Datasets,RDD)的权重,并根据权重作为优化或评估的依据,如使用随机森林模型进行评估;其二,根据阶段(stage)的宽依赖和窄依赖的划分,累加估算出每个stage执行所需时间;其三,根据运行环境的基础指标如CPU等以及和计算任务相关的相关参数,使用线性或简单非线性回归模型进行预测;其四,基于长短期记忆网络(LongShort-Term Memory,LSTM)的循环神经网络模型对时序序列数据进行预测。
上述对Spark任务执行的成本评估或执行优化方案,为基于Spark的任务的DAG及Stage划分原理、运行环境和任务的核心参数,使用相对简单的线性模型进行训练和预测,或者为应用较为单一的深度神经网络模型进行预测。针对上述该些方式,虽然能够在很大程度上达到预测的目的,但数据模型相对单一,或者对RDD或stage的估算偏线性化,这导致预测的准确性较低。
发明内容
本发明实施例提供一种Spark任务的时长预测方法及装置,以解决现有技术中在对Spark任务的执行时长预测时准确度不高的问题。
本发明实施例提供一种Spark任务的时长预测方法,所述时长预测方法包括:
获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;
将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,
所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
可选地,所述获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数中,
所述第一特征参数包括:Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量;
所述第二特征参数包括:Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
可选地,所述神经网络预测模型还包括分别与所述第一神经网络预测单元和第二神经网络预测单元连接的时长预测分类单元;
所述将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果,包括:
将所述第一特征参数输入至所述第一神经网络预测单元中,并将所述第二特征参数输入至第二神经网络预测单元中,得到所述神经网络预测模型中所述时长预测分类单元输出的时长预测结果。
可选地,所述将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果之前,所述时长预测方法还包括:
训练得到所述神经网络预测模型,具体包括:
基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元;其中所述第一Spark计算任务样本为自定义Spark计算任务集合;
基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元;其中所述第二Spark计算任务样本为历史Spark计算任务集合;
将所述第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型;
通过所述第二Spark计算任务样本对所述待训练神经网络预测模型进行验证,得到验证完成后的所述神经网络预测模型。
可选地,所述基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元,包括:
通过所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数以及所述第一Spark计算任务样本的任务执行时长标签,对所述前馈神经网络模型进行训练;
当训练得到所述前馈神经网络模型的时长预测结果准确度大于第一预设阈值时,移除所述前馈神经网络模型中的输出层,并将移除输出层后的剩余网络层确定为第一神经网络预测单元。
可选地,所述基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元,包括:
通过所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数以及所述第二Spark计算任务样本的任务执行时长标签,对所述LSTM模型进行训练;
当训练得到所述LSTM模型的时长预测结果准确度大于第二预设阈值时,移除所述LSTM模型中的输出层,并将移除输出层后的剩余网络层确定为第二神经网络预测单元。
本发明实施例还提供一种Spark任务的时长预测装置,所述时长预测装置包括:
第一获取模块,用于获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;
第二获取模块,用于将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,
所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的Spark任务的时长预测方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的Spark任务的时长预测方法的步骤。
本发明实施例提供的Spark任务的时长预测方法及装置中,所采用的神经网络预测模型包括基于与计算任务复杂度相对应的特征参数训练得到的第一神经网络预测单元以及基于与计算任务工作量相对应的特征参数训练得到的第二神经网络预测单元,此时通过获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数,并将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果;这样,基于第一神经网络预测单元和第二神经网络预测单元分别针对Spark计算任务的任务复杂度和任务工作量两个方向进行训练,且神经网络预测模型为两个神经网络预测单元合并而成,使得神经网络预测模型能够综合影响Spark任务执行时长的任务复杂度和任务工作量两个方面,从而提高了在通过神经网络预测模型对Spark计算任务的执行时长进行预测时的预测准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中Spark任务的时长预测方法的步骤流程图;
图2为本发明实施例中训练得到神经网络预测模型的的步骤流程图;
图3为本发明实施例中Spark任务的时长预测装置的模块框图;
图4为本发明实施例中电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中Spark任务的时长预测方法的步骤流程图,该方法包括如下步骤:
步骤101:获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数。
具体的,一个Spark计算任务的执行时长主要取决于复杂度和任务量。
在本步骤中,为了保证Spark计算任务的执行时长预测的准确性,可以获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数,以使能够通过第一特征参数和第二特征参数,共同对Spark计算任务的执行时长进行预测。
步骤102:将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果。
具体的,所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
这样,通过将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果,基于第一神经网络预测单元和第二神经网络预测单元分别针对Spark计算任务的任务复杂度和任务工作量两个方向进行训练,且神经网络预测模型为两个神经网络预测单元合并而成,使得神经网络预测模型能够综合影响Spark任务执行时长的任务复杂度和任务工作量两个方面对任务时长进行预测,提高了在通过神经网络预测模型对Spark计算任务的执行时长进行预测时的预测准确性。
需指出的是,在获取的Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数中,第一特征参数包括:Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量;第二特征参数包括:Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
其中,针对上述的第一特征参数,给出如下说明:
Spark计算任务复杂度与其源代码中的计算函数的功能紧密相关,其背后的理论基础是有向无环图(简称DAG),有些函数是窄依赖,有些是宽依赖。其中,宽依赖需要做shuffle和划分stage的动作,导致这个节点要将数据发送给多个后继节点再进行合并计算,所以计算量较大,执行时间长,此时如果依靠解析DAG图进行复杂度估算,其计算量偏大。此时本实施例基于DAG的核心,即该spark计算函数的结果是否返回Shuffled RDD,如果是,则说明是宽依赖,如果不是,则是窄依赖;此外,一个Spark特定版本中不同的计算函数返回的RDD类型是固定的,因此可以预先存储spark当前版本所有计算函数相应的宽窄依赖类别,然后对计算任务的源代码进行解析和匹配,区分出本计算任务中使用到的计算函数的宽依赖个数和窄依赖个数,将宽依赖函数的数量和窄依赖函数的数量作为特征参数。当然,凭借对宽窄依赖的判断还不能完全决定Spark计算任务的复杂度,除了stage的数量,还取决于计算任务的代码复杂度,此时可以加入圈复杂度参数;圈复杂度用来衡量一个模块判定结构的复杂程度,数量上表现为线性无关的路径条数,具体的,圈复杂度越大的代码,代表计算时需要处理不同场景的可能性越多,就越复杂。此外,除上述参数外,Spark计算任务源代码的源代码行数、类继承深度以及类引用数量同样与复杂度有相关性,因此还可以将Spark计算任务源代码的源代码行数、类继承深度以及类引用数量作为与复杂度相对应的特征参数。
这样,在计算任务复杂度方面,通过获取第一特征参数,扩展了神经网络预测模型的输入参数的维度,且避免了现有技术中通过解析DAG图来进行时长预测,而是直接通过使用Shuffled RDD这一核心概念,以此来识别宽/窄依赖的特征并进行估计复杂度,从而简化了DAG图模型的计算,同时还引入了代码复杂度指标-复杂圈度以及代码行数等特征,使得第一神经网络预测单元更为完整,且具有多维度和非线性且易于计算等特性,提高了第一神经网络预测单元的预测准确性。
此外,针对上述的第二特征参数,给出如下说明:
具体的,考虑到周期性因素和业务特定,如月初和月末、白天和晚上,其Spark计算的效能是不同的,因此可以将Spark计算任务的发生时间范围作为与计算任务工作量相对应的一特征参数。此外,Spark计算任务的待计算资源量可以包括计算任务文件的大小、数量和文件类型等;例如文件类型可能为gzip,此时则不支持Hadoop分区,文件类型还可能为bz2类型,此时则支持Hadoop分区;当然,不同类型的文件,是否支持分区,使用Spark/Hadoop进行并行解压和计算的效能是不同的,因此可以将Spark计算任务的待计算资源量作为与计算任务工作量相对应的另一特征参数。另外,Spark计算任务的计算环境指标值可以包括CPU可用数和使用率、内存可用量和使用率、存储可用量和占比、网络带宽均值等,上述软硬件使用情况同样影响计算的效能,因此可以将上述Spark计算任务的计算环境指标值作为与计算任务工作量相对应的另一特征参数。
这样,在计算任务工作量方面,通过获取第二特征参数,扩展了神经网络预测模型的输入参数的维度,进一步保证了通过神经网络预测模型进行时长预测时的准确性。
进一步地,神经网络预测模型还包括分别与所述第一神经网络预测单元和第二神经网络预测单元连接的时长预测分类单元,此时在将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果时,可以将第一特征参数输入至第一神经网络预测单元中,并将第二特征参数输入至第二神经网络预测单元中,得到神经网络预测模型中时长预测分类单元输出的时长预测结果。
这样,基于第一神经网络预测单元为通过第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,第二神经网络预测单元为通过第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到,使得在将第一特征参数输入至第一神经网络预测单元,并将第二特征参数输入至第二神经网络预测单元时,能够基于训练好的第一神经网络预测单元和第二神经网络预测单元的预测准确性,从第一特征参数所对应的任务复杂度方面和第二特征参数所对应的任务工作量方面对任务时长进行预测,进而保证了所得到的预测结果的准确性。
此外,具体的,时长预测分类单元可以为分类器,且可以预设有9个任务时长预测区间,具体包括分钟级时长区间、小时级时长区间和天极时长区间;其中分钟级时长区间包括0-15分钟区间、15-30分钟区间和31-60分钟区间,小时级时长区间包括1-2小时区间、2-3小时区间、3-5小时区间、5-8小时区间、8-24小时区间。这样,通过将时长预测分类单元预先设置多个任务时长预测区间,提高了任务时长的预测精度,从而使得神经网络预测模型通过时长预测分类单元输出的时长预测结果的准确度较高。
此外,在此需要说明的是,本实施例在将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果之前,还包括训练得到所述神经网络预测模型。
具体的,如图2所示,训练得到神经网络预测模型可以包括如下步骤:
步骤201:基于预先设置的前馈神经网络模型以及第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元。
在本步骤中,具体的,可以基于预先设置的前馈神经网络模型以及第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元。
其中,第一Spark计算任务样本为自定义Spark计算任务集合,即第一Spark计算任务样本可以自主生成,而不需要获取历史数据作为样本,即此时能够设计出复杂度不同的计算函数组合,在单机上或小规模集群上模拟各种计算任务,生成获取最终的执行时间。这样,通过自定义Spark计算任务样本,使得能够较为容易的构造自生成数据,不必依赖积累历史数据,且能够覆盖历史数据没有覆盖到的计算场景,从而避免过拟合的情况。
此外,具体的,在本步骤中基于预先设置的前馈神经网络模型以及第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元时,可以先通过第一Spark计算任务样本中与计算任务复杂度相对应的特征参数以及所述第一Spark计算任务样本的任务执行时长标签,对所述前馈神经网络模型进行训练,然后当训练得到所述前馈神经网络模型的时长预测结果准确度大于第一预设阈值时,移除所述前馈神经网络模型中的输出层,并将移除输出层后的剩余网络层确定为第一神经网络预测单元。
在此需要说明的是,第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,同样包括Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量。
在此还需要说明的是,前馈神经网络模型可以包括三层隐含层,即通过三层隐含网络层对归一化后的特征参数进行训练;此外,输出层可以与神经网络预测模型相同,即同样可以为分类器,且预设9个任务时长预测区间,在此不再进行赘述;另外,在前馈神经网络模型中,激活函数可以使用线性整流函数(ReLU),误差函数可以使用交叉熵函数,随机失活(dropout)可以为0.5。
这样,通过第一Spark计算任务样本中与计算任务复杂度相对应的特征参数对前馈神经网络模型进行训练,并将训练完毕时前馈神经网络模型中移除输出层后的剩余网络层确定为第一神经网络预测单元,即保留剩余网络层的训练参数和权重,保证了所得到的第一神经网络预测单元的预测准确性。
步骤202:基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元。
在本步骤中,具体的,可以基于预先设置的LSTM模型以及第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元。
具体的,基于计算任务具有周期性特点,而且历史数据对后续的任务预测具有借鉴作用,此时本实施例采用LSTM模型对Spark计算任务工作量进行基于时间序列的训练和参数初始化,能够确保LSTM模型具备长短时记忆能力。
此外,具体的,第二Spark计算任务样本为历史Spark计算任务集合。
另外,具体的,在本步骤中基于LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元时,可以先通过第二Spark计算任务样本中与计算任务工作量相对应的特征参数以及所述第二Spark计算任务样本的任务执行时长标签,对所述LSTM模型进行训练,然后当训练得到所述LSTM模型的时长预测结果准确度大于第二预设阈值时,移除所述LSTM模型中的输出层,并将移除输出层后的剩余网络层确定为第二神经网络预测单元。
在此需要说明的是,第二Spark计算任务样本中与计算任务工作量相对应的特征参数,同样包括Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
在此还需要说明的是,LSTM模型的输出层可以与神经网络预测模型的输出层相同,即同样可以为分类器,且预设9个任务时长预测区间,在此不再进行赘述。
这样,通过第二Spark计算任务样本中与计算任务工作量相对应的特征参数对LSTM模型进行训练,并将训练完毕时LSTM模型中移除输出层后的剩余网络层确定为第二神经网络预测单元,即保留剩余网络层的训练参数和权重,保证了所得到的第二神经网络预测单元的预测准确性。
步骤203:将第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型。
在本步骤中,具体的,在得到第一神经网络预测模型和第二神经网络预测模型之后,可以将第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型。这样,通过将第一神经网络预测单元和第二神经网络预测单元组合成一个神经网络预测模型,使得神经网络预测模型能够综合任务复杂度和任务工作量两个维度对任务时长进行预测,提高了任务执行时长预测的准确性。
在此需要说明的是,本实施例还可以在第一神经网络预测单元和第二神经网络预测单元的输出端与时长预测分类单元之间增加卷积层,即将第一神经网络预测单元和第二神经网络预测单元的输出特征数据进行二层卷积计算,进行数据补充和微调,以降低维度和过拟合风险,获取全局最优解,从而保证预测具有更高的准确性。此外,卷积层的激活函数可以为ReLU,误差函数可以为熵交叉函数,Dropout可以设为0.6。
步骤204:通过第二Spark计算任务样本对待训练神经网络预测模型进行验证,得到验证后的神经网络预测模型。
在本步骤中,具体的,可以通过第二Spark计算任务样本对待训练神经网络预测模型进行验证,得到验证通过后的神经网络预测模型。
具体的,在本步骤中通过第二Spark计算任务样本,即历史数据对合成后的神经网络预测模型进行验证,降低了过拟合风险,进一步保证了最后得到的神经网络预测模型的准确性。
这样,上述过程通过将任务复杂度和任务工作量放到前馈神经网络模型和LSTM模型两个子模型中进行训练,得到第一神经网络预测单元和第二神经网络预测单元,并通过将第一神经网络预测单元和第二神经网络预测单元组合得到最终的神经网络预测模型,使得在通过神经网络预测模型对Spark计算任务进行时长预测时,能够具有较高的预测准确度。
这样,本实施例提供的Spark任务的时长预测方法,神经网络预测模型包括基于与计算任务复杂度相对应的特征参数训练得到的第一神经网络预测单元以及基于与计算任务工作量相对应的特征参数训练得到的第二神经网络预测单元,此时通过获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数,并将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果;这样,基于第一神经网络预测单元和第二神经网络预测单元分别针对Spark计算任务的任务复杂度和任务工作量两个方向进行训练,且神经网络预测模型为两个神经网络预测单元合并而成,使得神经网络预测模型能够综合影响Spark任务执行时长的任务复杂度和任务工作量两个方面,从而提高了在通过神经网络预测模型对Spark计算任务的执行时长进行预测时的预测准确性。
此外,如图3所示,为本发明实施例中Spark任务的时长预测装置的模块框图,该时长预测装置包括:
第一获取模块301,用于获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;
第二获取模块302,用于将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,
所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
可选地,所述第一特征参数包括:Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量;
所述第二特征参数包括:Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
可选地,所述神经网络预测模型还包括分别与所述第一神经网络预测单元和第二神经网络预测单元连接的时长预测分类单元;第二获取模块302用于,将所述第一特征参数输入至所述第一神经网络预测单元中,并将所述第二特征参数输入至第二神经网络预测单元中,得到所述神经网络预测模型中所述时长预测分类单元输出的时长预测结果。
可选地,所述装置还包括:
训练模块,用于训练得到所述神经网络预测模型,具体包括:
第一训练单元,用于基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元;其中所述第一Spark计算任务样本为自定义Spark计算任务集合;
第二训练单元,用于基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元;其中所述第二Spark计算任务样本为历史Spark计算任务集合;
第一获取单元,用于将所述第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型;
第二获取单元,用于通过所述第二Spark计算任务样本对所述待训练神经网络预测模型进行验证,得到验证通过后的所述神经网络预测模型。
可选地,所述第一训练单元用于,通过所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数以及所述第一Spark计算任务样本的任务执行时长标签,对所述前馈神经网络模型进行训练;当训练得到所述前馈神经网络模型的时长预测结果准确度大于第一预设阈值时,移除所述前馈神经网络模型中的输出层,并将移除输出层后的剩余网络层确定为第一神经网络预测单元。
可选地,所述第二训练单元用于,通过所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数以及所述第二Spark计算任务样本的任务执行时长标签,对所述LSTM模型进行训练;当训练得到所述LSTM模型的时长预测结果准确度大于第二预设阈值时,移除所述LSTM模型中的输出层,并将移除输出层后的剩余网络层确定为第二神经网络预测单元。
这样,本实施例提供的时长预测装置,通过第一获取模块获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数,通过第二获取模块将第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到神经网络预测模型输出的时长预测结果,基于神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且第一神经网络预测单元为基于与计算任务复杂度相对应的特征参数训练得到,第二神经网络预测单元为基于与计算任务工作量相对应的特征参数训练得到,使得神经网络预测模型能够综合影响Spark任务执行时长的任务复杂度和任务工作量两个方面,从而提高了在通过神经网络预测模型对Spark计算任务的执行时长进行预测时的预测准确性。
另外,如图4所示,为本发明实施例提供的电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储在存储器430上并可在处理器410上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种Spark任务的时长预测方法,其特征在于,所述时长预测方法包括:
获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;
将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,
所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签;
其中,所述将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果之前,所述时长预测方法还包括:
训练得到所述神经网络预测模型,具体包括:
基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元;其中所述第一Spark计算任务样本为自定义Spark计算任务集合;
基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元;其中所述第二Spark计算任务样本为历史Spark计算任务集合;
将所述第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型;
通过所述第二Spark计算任务样本对所述待训练神经网络预测模型进行验证,得到验证通过后的所述神经网络预测模型。
2.根据权利要求1所述的Spark任务的时长预测方法,其特征在于,所述获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数中,
所述第一特征参数包括:Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量;
所述第二特征参数包括:Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
3.根据权利要求1所述的Spark任务的时长预测方法,其特征在于,所述神经网络预测模型还包括分别与所述第一神经网络预测单元和第二神经网络预测单元连接的时长预测分类单元;
所述将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果,包括:
将所述第一特征参数输入至所述第一神经网络预测单元中,并将所述第二特征参数输入至第二神经网络预测单元中,得到所述神经网络预测模型中所述时长预测分类单元输出的时长预测结果。
4.根据权利要求1所述的Spark任务的时长预测方法,其特征在于,所述基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元,包括:
通过所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数以及所述第一Spark计算任务样本的任务执行时长标签,对所述前馈神经网络模型进行训练;
当训练得到所述前馈神经网络模型的时长预测结果准确度大于第一预设阈值时,移除所述前馈神经网络模型中的输出层,并将移除输出层后的剩余网络层确定为第一神经网络预测单元。
5.根据权利要求1所述的Spark任务的时长预测方法,其特征在于,所述基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元,包括:
通过所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数以及所述第二Spark计算任务样本的任务执行时长标签,对所述LSTM模型进行训练;
当训练得到所述LSTM模型的时长预测结果准确度大于第二预设阈值时,移除所述LSTM模型中的输出层,并将移除输出层后的剩余网络层确定为第二神经网络预测单元。
6.一种Spark任务的时长预测装置,其特征在于,所述时长预测装置包括:
第一获取模块,用于获取Spark计算任务中与计算任务复杂度相对应的第一特征参数以及与计算任务工作量相对应的第二特征参数;
第二获取模块,用于将所述第一特征参数和第二特征参数输入预先训练得到的神经网络预测模型中,得到所述神经网络预测模型输出的时长预测结果;其中,
所述神经网络预测模型包括第一神经网络预测单元和第二神经网络预测单元,且所述第一神经网络预测单元为基于第一Spark计算任务样本中与计算任务复杂度相对应的特征参数训练得到,所述第二神经网络预测单元为基于第二Spark计算任务样本中与计算任务工作量相对应的特征参数训练得到;所述第一Spark计算任务样本和第二Spark计算任务样本均标识有任务执行时长标签;
其中,所述装置还包括:
训练模块,用于训练得到所述神经网络预测模型,具体包括:
第一训练单元,用于基于预先设置的前馈神经网络模型以及所述第一Spark计算任务样本中与计算任务复杂度相对应的特征参数,训练得到第一神经网络预测单元;其中所述第一Spark计算任务样本为自定义Spark计算任务集合;
第二训练单元,用于基于预先设置的长短期记忆网络LSTM模型以及所述第二Spark计算任务样本中与计算任务工作量相对应的特征参数,训练得到第二神经网络预测单元;其中所述第二Spark计算任务样本为历史Spark计算任务集合;
第一获取单元,用于将所述第一神经网络预测单元和第二神经网络预测单元分别与时长预测分类单元连接,得到待训练神经网络预测模型;
第二获取单元,用于通过所述第二Spark计算任务样本对所述待训练神经网络预测模型进行验证,得到验证通过后的所述神经网络预测模型。
7.根据权利要求6所述的Spark任务的时长预测装置,其特征在于,所述第一特征参数包括:Spark计算任务源代码中宽依赖函数的数量和窄依赖函数的数量、Spark计算任务源代码的圈复杂度、Spark计算任务源代码的源代码行数、类继承深度以及类引用数量;
所述第二特征参数包括:Spark计算任务的发生时间范围、Spark计算任务的待计算资源量和Spark计算任务的计算环境指标值。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的Spark任务的时长预测方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5中任一项所述的Spark任务的时长预测方法的步骤。
CN201910554560.4A 2019-06-25 2019-06-25 一种Spark任务的时长预测方法及装置 Active CN110263869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910554560.4A CN110263869B (zh) 2019-06-25 2019-06-25 一种Spark任务的时长预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910554560.4A CN110263869B (zh) 2019-06-25 2019-06-25 一种Spark任务的时长预测方法及装置

Publications (2)

Publication Number Publication Date
CN110263869A CN110263869A (zh) 2019-09-20
CN110263869B true CN110263869B (zh) 2021-06-08

Family

ID=67921287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910554560.4A Active CN110263869B (zh) 2019-06-25 2019-06-25 一种Spark任务的时长预测方法及装置

Country Status (1)

Country Link
CN (1) CN110263869B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825522A (zh) * 2019-10-31 2020-02-21 武汉联图时空信息科技有限公司 Spark参数自适应优化方法及系统
CN111126668B (zh) * 2019-11-28 2022-06-21 中国人民解放军国防科技大学 基于图卷积网络的Spark作业时间预测方法和装置
CN111694645B (zh) * 2020-05-26 2022-05-24 平安普惠企业管理有限公司 分布式任务调度系统中任务处理方法及相关装置
CN111582407B (zh) * 2020-06-19 2022-11-04 拉扎斯网络科技(上海)有限公司 任务处理方法、装置、可读存储介质和电子设备
CN116680619A (zh) * 2023-07-28 2023-09-01 江西中医药大学 煎药时长分类预测方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231281A (zh) * 2011-07-18 2011-11-02 渤海大学 基于集成特征和神经网络的语音可视化方法
CN106940281A (zh) * 2016-12-09 2017-07-11 中国航空工业集团公司上海航空测控技术研究所 一种基于信息融合技术智能模型的航空油液分析方法
CN107247917A (zh) * 2017-04-21 2017-10-13 东南大学 一种基于ELM与DSmT的飞机姿态识别方法
CN109376012A (zh) * 2018-10-10 2019-02-22 电子科技大学 一种针对异构环境的基于Spark的自适应任务调度方法
CN109636212A (zh) * 2018-12-19 2019-04-16 中国科学技术大学 作业实际运行时间的预测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231281A (zh) * 2011-07-18 2011-11-02 渤海大学 基于集成特征和神经网络的语音可视化方法
CN106940281A (zh) * 2016-12-09 2017-07-11 中国航空工业集团公司上海航空测控技术研究所 一种基于信息融合技术智能模型的航空油液分析方法
CN107247917A (zh) * 2017-04-21 2017-10-13 东南大学 一种基于ELM与DSmT的飞机姿态识别方法
CN109376012A (zh) * 2018-10-10 2019-02-22 电子科技大学 一种针对异构环境的基于Spark的自适应任务调度方法
CN109636212A (zh) * 2018-12-19 2019-04-16 中国科学技术大学 作业实际运行时间的预测方法

Also Published As

Publication number Publication date
CN110263869A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN110263869B (zh) 一种Spark任务的时长预测方法及装置
Rabosky et al. Explosive evolutionary radiations: decreasing speciation or increasing extinction through time?
AU2021232839A1 (en) Updating Attribute Data Structures to Indicate Trends in Attribute Data Provided to Automated Modelling Systems
US20180330226A1 (en) Question recommendation method and device
CN111935140B (zh) 异常报文识别方法及装置
CN114297036A (zh) 数据处理方法、装置、电子设备及可读存储介质
CN109389518A (zh) 关联分析方法及装置
CN110956278A (zh) 重新训练机器学习模型的方法和系统
US20220253689A1 (en) Predictive data capacity planning
CN111582341A (zh) 用户异常操作预测方法及装置
US11620493B2 (en) Intelligent selection of time series models
Wiedenmann et al. Autocorrelated error in stock assessment estimates: implications for management strategy evaluation
WO2018182442A1 (en) Machine learning system and method for generating a decision stream and automonously operating device using the decision stream
CN113592593A (zh) 序列推荐模型的训练及应用方法、装置、设备及存储介质
CN107644042B (zh) 软件程序点击率预估排序方法及服务器
CN114862372B (zh) 基于区块链的智慧教育数据防篡改处理方法及系统
CN106997472B (zh) 用户信用模型的用户特征分类方法、用户信用评估方法及装置
CN114842382A (zh) 一种生成视频的语义向量的方法、装置、设备及介质
Chen et al. Using deep learning to predict and optimize hadoop data analytic service in a cloud platform
AU2021218217A1 (en) Systems and methods for preventative monitoring using AI learning of outcomes and responses from previous experience.
CN113822371A (zh) 训练分组模型,以及对时序数据进行分组的方法和装置
CN113159926A (zh) 贷款业务的还款日期确定方法及装置
CN112783747A (zh) 一种应用程序的执行时间预测方法及装置
CN110852854A (zh) 一种量化收益模型的生成方法和风险控制策略的评价方法
US20220405631A1 (en) Data quality assessment for unsupervised machine learning

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