一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种任务监控方法、装置、电子设备及可读存储介质与流程

2022-06-01 20:14:21 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,特别是涉及一种任务监控方法、装置、电子设备及可读存储介质。


背景技术:

2.目前,在火花服务(spark service)模式中,spark任务调度采用公平(fair)模式,在并发请求spark service的情况下,可以计算一个任务每次的执行时间。并且,现有技术中,将一个任务的请求时间与该任务请求完成时间的时间间隔,作为该任务的执行时间。
3.其中,在任务执行时,spark任务的调度队列中存在多个并行任务,执行顺序按照优先级高的任务优先执行,但是由于调度队列可能会长时间阻塞,这样,该调度队列中的某个任务的实际执行时间可能超过该其正常执行时间(即历史执行时间),那么,当获取到该任务的请求时间之后,已经过了该任务的正常执行时间,但还未获取到该任务的请求完成时间,从而使得本次计算的任务的执行时间与任务的正常执行时间相差较大,即导致对该任务执行时间的计算不准确。由上述可知,现有的spark任务执行时间的计算方法,在调度队列出现长时间阻塞的情况下,会导致对任务执行时间的计算不准确。


技术实现要素:

4.本发明的实施例提供了一种任务监控方法、装置、电子设备及可读存储介质,用于提升监控spark任务的准确度。
5.为了解决上述问题,本发明实施例公开了一种任务监控方法,所述方法包括:
6.获取待监控的spark任务;
7.获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
8.本发明实施例还公开了一种任务监控装置,所述装置包括:
9.第一获取模块,用于获取待监控的spark任务;
10.第二获取模块,用于获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
11.本发明实施例包括以下优点:
12.在本发明实施例中,能够获取待监控的spark任务;从而获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
13.其中,一个spark任务包括多个job,一个job对应多个stage,一个stage对应多个task,并且一个job包括的多个stage是并行执行,则一个job中最后完成的stage的执行时间为该job的完成时间;同理,一个stage包括的多个task是并行执行的,则一个stage中最后完成的task的执行时间为该stage的完成时间,因此,前述第一执行时间未将调度队列的
等待时间计算在内。
14.由此可见,在本发明的实施例中,前述第一执行时间可以用于描述spark任务包括的各个job执行所需的实际时间。即本发明的实施例,从spark任务下的job层级出发进行任务监控,可以准确得到spark任务包括的各个job执行所需的实际时间,从而提升了计算spark任务执行时间的准确度。
附图说明
15.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本发明实施例提供的一种任务监控方法的示意图;
17.图2是本发明实施例提供的spark service模式下各端设备的交互流程示意图;
18.图3是本发明实施例提供的spark指标之间关系的示意图;
19.图4是本发明实施例提供的一种任务监控装置的结构框图。
具体实施方式
20.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
21.为了便于理解本发明实施例提供的任务监控方法,首先对如下内容进行介绍:
22.如图2所示,spark service模式为,通过spark客户端(client)提交任务启动spark service,在spark驱动端(driver)会同时启动一个超文本传输协议服务器(http server),可以与万维网服务器(web server)进行交互,http server接收到web server传过来的请求,解析请求参数,以域名(groupid)为分组生成spark任务,发送到执行端(executor)执行,执行完成后,将执行结果返回到spark driver,最后返回执行结果到请求端,即web server。
23.如图1所示,为本发明实施例一种任务监控方法的流程示意图,该方法可以包括以下步骤:
24.步骤101:获取待监控的spark任务。
25.其中,如图3所示,一个spark应用程序(app)包括多个groupid;一个groupid生成的spark任务包括多个作业job,一个作业job包括多个stage,一个stage包括多个task。而在本发明实施例中,对spark任务进行监控时,是从job层级出发,针对一个spark任务的各个job分别进行监控。因此,在对spark任务进行监控时,一个groupid对应多个job,即可以将该多个job认为是一个spark任务。
26.另外,spark是专为大规模数据处理而设计的快速通用的计算引擎。
27.在本发明实施例中,可以设置预设时间间隔,从而每隔预设时间间隔获取待监控的spark任务,进而对获取到的spark任务进行监控(即可以采用本发明实施例的任务监控方法,周期性地对spark app的spark任务进行监控);或者,可以在接收到用户的预设操作(例如对执行端上设置的物理按键或者物理组合按键的按压操作)时,生成spark任务获取
指令,从而触发执行步骤101。
28.步骤102:获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值。
29.其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
30.由上述步骤101至102可知,本发明实施例中,能够获取待监控的spark任务;从而获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
31.其中,一个spark任务包括多个job,一个job对应多个stage,一个stage对应多个task,并且一个job包括的多个stage是并行执行,则一个job中最后完成的stage的执行时间为该job的完成时间;同理,一个stage包括的多个task是并行执行的,则一个stage中最后完成的task的执行时间为该stage的完成时间,因此,前述第一执行时间未将调度队列的等待时间计算在内。
32.由此可见,在本发明的实施例中,前述第一执行时间可以用于描述spark任务包括的各个job执行所需的实际时间。即本发明的实施例,从spark任务下的job层级出发进行任务监控,可以准确得到spark任务包括的各个job执行所需的实际时间,从而提升了对spark任务执行时间的准确度。
33.可选的,获取所述第一执行时间的过程,包括:
34.在x取1至y中每一个整数时,获取所述spark任务包括的第x个job的第一提交时间和第一完成时间;
35.将所述第x个job的第一提交时间与第一完成时间的时间间隔,确定为所述第x个job的第一执行时间,其中,y为所述spark任务包括的job的数量;
36.计算第1至y个job的执行时间的和,以作为所述第一执行时间。
37.其中,spark任务包括多个job,则上述第一执行时间其中,spark任务包括多个job,则上述第一执行时间(第x个job的第一完成时间-第x个job的第一提交时间),y表示spark任务包括多个job的数量。
38.例如,spark任务包括2个job,第1个job的第一提交时间为t1,第1个job的第一完成时间为t2,则第1个job的执行时间为“t2-t1”;第2个job的第一提交时间为t3,第2个job的第一完成时间为t4,则第2个job的执行时间为“t4-t3”;则第一执行时间为“(t2-t1) (t4-t3)”。
39.另外,一个job包括多个stage,则一个job的执行时间为多个stage执行过程中,最后完成的stage的执行时间。
40.可选的,所述方法还包括:
41.将所述待监控的运行调度时间,输入至预先确定的与所述spark任务对应的执行时间预测模型,输出预测执行时间的值;
42.根据所述预测执行时间的值和所述第一执行时间的目标取值,确定所述spark任务的执行过程是否存在问题。
43.其中,与spark任务对应的执行时间预测模型即为用于预测在待监控的运行调度时间内spark任务的执行时间。执行时间预测模型的输入为待监控的运行调度时间,输出为spark任务的预测执行时间的值。因此,在发明实施例中,可以将待监控的运行调度时间输入至执行时间预测模型中,能够获得待监控的spark任务在运行调度时间内的预测执行时
间的值,从而可以根据预测执行时间的值和第一执行时间的目标取值,确定spark任务的执行过程是否存在问题。
44.由上述可知,本发明的实施例,从spark任务下的job层级出发进行任务监控,可以准确得到spark任务包括的各个job执行所需的实际时间(即第一执行时间),从而提升了对spark任务执行时间的准确度,进而根据第一执行时间,可以更加准确的监控spark任务。
45.此外,需要说明的是,不同spark任务可能具有不同的架构,即不同spark任务包括的job数量、stage数量和task数量可能不同,则在本发明的实施例中,一种架构的spark任务对应一个执行时间预测模型。因此,在确定一种架构的spark任务的预测执行时间的值时,需要将该spark任务的运行调度时间输入至与该spark任务对应的执行时间预测模型中,从而满足对不同spark任务的监控需求。
46.可选的,与所述spark任务对应的执行时间预测模型的建立过程,包括:
47.获取所述spark任务的所述第一执行时间的历史取值;
48.获取所述spark任务的第二执行时间的历史取值,其中,所述第二执行时间为所述各个job包括的各个调度阶段stage的总执行时间;
49.获取所述spark任务的第三执行时间的历史取值,其中,所述第三执行时间为所述各个调度阶段stage包括的各个task的总执行时间;
50.采用聚类算法,去除所述第一执行时间的历史取值、所述第二执行时间的历史取值、所述第三执行时间的历史取值中的异常数据;
51.将与同一运行调度时间对应的所述第一执行时间的历史取值、所述第二执行时间的历史取值和所述第三执行时间的历史取值,加权重值求和,获得与该运行调度时间对应的预测执行时间的历史取值;
52.根据所述预测执行时间的历史取值和与所述预测执行时间的历史取值对应的运行调度时间,获得所述执行时间预测模型。
53.其中,聚类算法又聚类分析或称群分析,是研究(样品或指标)分类问题的一种统计分析方法,也是数据挖掘的一个重要算法。因此,采用聚类算法,可以去除获取执行时间预测模型所依据的数据中的异常数据,从而使得得到的执行时间预测模型更准确。
54.另外,上述执行时间预测模型即为运行调度时间与预测执行时间这两个变量的函数关系。其中,可以采用线性回归算法,根据上述预测执行时间的历史取值和与预测执行时间的历史取值对应的运行调度时间,获得该函数关系。因此,将运行调度时间代入该函数关系中,则可以获得预测执行时间的取值。
55.由上述可知,在本发明实施例中,通过聚类算法去除异常数据之后,每一个运行调度时间对应一组第一执行时间、第二执行时间和第三执行时间,则将一组第一执行时间、第二执行时间和第三执行时间,加权求和之后得到的值,表示spark任务的预测执行时间,从而根据每一个运行调度时间和对应的spark任务的预测执行时间,确定执行时间预测模型。
56.可选的,所述采用聚类算法,去除所述第一执行时间的历史取值、所述第二执行时间的历史取值、所述第三执行时间的历史取值中的异常数据,包括:
57.获取所述spark任务包括的各个job的数量、所述各个job包括的各个调度阶段stage的数量和所述各个调度阶段stage包括的各个task的数量、task的结束原因;
58.根据所述各个job的数量、所述各个调度阶段stage的数量和所述各个task的数
量,以及task的结束原因,采用聚类算法,去除所述第一执行时间的历史取值、所述第二执行时间的历史取值、所述第三执行时间的历史取值中的异常数据。
59.其中,可以预先确定spark任务包括的各个job的数量阈值、各个stage的数量阈值和各个task的数量阈值,在该spark任务的历史执行过程中每一次实际执行的各个job的数量、各个stage的数量和各个task的数量均达到各个数量阈值的情况下,表示为正常数据;在该spark任务的历史执行过程中每一次实际执行的各个job的数量、或者各个stage的数量、或者各个task的数量,有未达到各个数量阈值的情况下,表示为异常数据。
60.另外,在spark任务的执行完成之后,还可以获取task的结束原因,即为spark任务的结束原因,从而根据task的结束原因,确定spark任务的历史取值数据是否为异常数据。例如在该spark任务的一次历史执行过程中,获取的task的结束原因为系统错误导致执行结束,则该次执行数据为异常数据;若task的结束原因为正常执行结束,则该次执行数据为正常数据。
61.可选的,获取所述第二执行时间的过程,包括:
62.在i取1至n中每一个整数时,获取所述各个job包括的第i个stage的第二提交时间与第二完成时间;
63.将所述第i个stage的第二提交时间与第二完成时间的时间间隔,确定为所述第i个stage的执行时间,其中,n为所述各个job包括的stage的数量;
64.计算第1至n个stage的执行时间的和,以作为所述第二执行时间。
65.其中,各个job包括多个stage,则上述第二执行时间其中,各个job包括多个stage,则上述第二执行时间(第i个stage的第二完成时间-第i个stage的第二提交时间),n表示各个job包括多个stage的数量。
66.例如,1个job包括2个stage,第1个stage的第二提交时间为t5,第1个stage的第二完成时间为t6,则第1个stage的执行时间为“t6-t5”;第2个stage的第二提交时间为t7,第2个stage的第二完成时间为t8,则第2个stage的执行时间为“t8-t7”;则第二执行时间为“(t6-t5) (t8-t7)”。
67.另外,一个stage包括多个task,则一个stage的执行时间为多个task执行过程中,最后完成的task的执行时间。
68.可选的,获取所述第三执行时间的过程,包括:
69.在j取1至m中每一个整数时,获取所述各个调度阶段stage包括的第j个task的第三提交时间与第三完成时间;
70.将所述第j个task的第三提交时间与第三完成时间的时间间隔,确定为所述第j个task的执行时间,其中,m为所述各个调度阶段stage包括的task的数量;
71.计算第1至m个task的执行时间的和,以作为所述第三执行时间。
72.其中,一个job包括多个stage,一个stage包括多个task,则上述第三执行时间其中,一个job包括多个stage,一个stage包括多个task,则上述第三执行时间(第j个task的第三完成时间-第j个task的第三提交时间),m表示各个调度阶段stage包括多个task的数量。
73.例如,1个stage包括2个task,第1个task的第三提交时间为t9,第1个task的第三完成时间为t10,则第1个task的执行时间为“t10-t9”;第2个task的第三提交时间为t11,第2个task的第三完成时间为t12,则第2个task的执行时间为“t12-t11”;则第三执行时间为“(t10-t9) (t12-t11)”。
74.可选的,在所述spark任务执行之前,所述方法还包括:
75.将所述待监控的运行调度时间,输入至预先确定的与所述spark任务对应的执行时间预测模型,输出预测执行时间的值;
76.在所述spark任务执行过程中,所述方法还包括:
77.从所述待监控的运行调度时间开始,每隔预设时间间隔,判断所述spark任务是否执行完成;
78.在所述spark任务未执行完成时,根据目标时间间隔和所述预测执行时间的值,确定所述spark任务的执行过程是否存在问题,其中,所述目标时间间隔为当前时间和所述待监控的运行调度时间的目标时间间隔;
79.在所述spark任务执行完成时,跳过根据目标时间间隔和所述预测执行时间的值,确定所述spark任务的执行过程是否存在问题的步骤。
80.其中,针对不同的spark任务,可以设置有不同的预设时间间隔,用于在同一运行调度时间下,将监控spark任务在执行过程中的当前时间和运行调度时间的时间间隔,与spark任务对应的执行时间预测模型输出的预测执行时间的值进行对比。
81.由上述可知,在本发明的实施例中,还可以在spark任务执行之间,将其运行调度时间输入至与该spark任务对应的执行时间预测模型,输出预测执行时间的值,从而在该spark任务执行过程中,每隔预设时间间隔,判断该spark任务是否完成,若未完成,则根据当前时间距离该spark任务的运行调度时间(即开始执行时间)的间隔,确定spark任务的执行过程是否存在问题。即本发明的实施例中,还可以在spark任务执行过程中,实时判断其执行过程是否存在问题,从而及时发现问题。
82.可选的,所述根据目标时间间隔和所述预测执行时间的值,判断确定所述spark任务的执行过程是否存在问题,包括:
83.计算目标时间间隔与所述预测执行时间的值的差值;
84.在所述差值大于第二预设阈值的情况下,确定所述spark任务的执行过程存在问题;
85.在所述差值小于或等于所述第二预设阈值的情况下,确定所述spark任务的执行过程未存在问题。
86.其中,上述目标时间间隔与预测执行时间的值的差值,大于第二预设阈值,表示spark任务还未完成时,经历的时间已经超过预测执行时间的值(即spark任务的正常执行时间),即spark任务还未完成时,已经到达该spark任务的正常执行时间,因此,此种情况下,可以确定该spark任务的执行过程存在问题。
87.可选的,确定所述spark任务的执行过程是否存在问题之后,所述方法还包括:
88.在确定所述spark任务的执行过程存在问题的情况下,执行预设报警操作。
89.其中,预设报警操作可以为显示用于指示spark任务执行过程存在问题的提示信息、向预先确定的电子设备发送报警信息(即短信告警)、向预先确定的通讯号码拨打电话(即电话告警)、向预先确定的邮箱地址发送报警邮件(即邮件告警)中的至少一种。
90.综上所述,本发明实施例的任务监控方法的具体实施方式,可包括如下所述的步骤h1至h8:
91.步骤h1:获取待监控的spark任务;
92.步骤h2:获取spark任务的待监控的运行调度时间;
93.步骤h3:将待监控的运行调度时间,输入至预先确定的与spark任务对应的执行时间预测模型,输出预测执行时间的值;其中,执行时间预测模型的建立过程请参见前文,此处不再赘述;
94.步骤h4:从待监控的运行调度时间开始,每隔预设时间间隔,判断所述spark任务是否执行完成;
95.步骤h5:在spark任务未执行完成时,计算目标时间间隔与所述预测执行时间的值的差值,在差值大于第二预设阈值的情况下,确定spark任务的执行过程存在问题;在差值小于或等于第二预设阈值的情况下,确定spark任务的执行过程未存在问题,其中,目标时间间隔为当前时间和待监控的运行调度时间的目标时间间隔;
96.步骤h6:在spark任务执行完成时,或者完成之后,获取第一执行时间的目标取值,其中,第一执行时间为spark任务包括的各个job的总执行时间;
97.步骤h7:计算第一执行时间的目标取值与预测执行时间的值的差值的绝对值,并在差值的绝对值在大于第一预设阈值的情况下,确定spark任务的执行过程存在问题;在差值的绝对值小于或者等于第一预设阈值的情况下,确定spark任务的执行过程未存在问题;
98.步骤h8:在确定spark任务的执行过程存在问题的情况下,执行预设报警操作。
99.由上述步骤可知,在本发明实施例,能够获取待监控的spark任务;从而获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
100.其中,一个spark任务包括多个job,一个job对应多个stage,一个stage对应多个task,并且一个job包括的多个stage是并行执行,则一个job中最后完成的stage的执行时间为该job的完成时间;同理,一个stage包括的多个task是并行执行的,则一个stage中最后完成的task的执行时间为该stage的完成时间,因此,前述第一执行时间未将调度队列的等待时间计算在内。
101.由此可见,在本发明的实施例中,前述第一执行时间可以用于描述spark任务包括的各个job执行所需的实际时间。即本发明的实施例,从spark任务下的job层级出发进行任务监控,可以准确得到spark任务包括的各个job执行所需的实际时间,从而提升了对spark任务执行时间的准确度,进而可以更加准确的监控spark任务。
102.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
103.参照图4,示出了本发明实施例中示出了一种任务监控装置的结构框图,该任务监控装置400可以包括以下模块:
104.第一获取模块401,用于获取待监控的spark任务;
105.第二获取模块402,用于获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执
行时间。
106.可选的,所述第二获取模块402包括:
107.第一时间获取子模块,用于在x取1至y中每一个整数时,获取所述spark任务包括的第x个job的第一提交时间和第一完成时间;
108.第一确定子模块,用于将所述第x个job的第一提交时间与第一完成时间的时间间隔,确定为所述第x个job的第一执行时间,其中,y为所述spark任务包括的job的数量;
109.第一计算子模块,用于计算第1至y个job的执行时间的和,以作为所述第一执行时间。
110.可选的,所述任务监控装置400,还包括:
111.第一输出模块,用于将所述待监控的运行调度时间,输入至预先确定的与所述spark任务对应的执行时间预测模型,输出预测执行时间的值;
112.第一确定模块,用于根据所述预测执行时间的值和所述第一执行时间的目标取值,确定所述spark任务的执行过程是否存在问题。
113.可选的,所述任务监控装置400,还包括:
114.第一历史取值获取模块,用于获取所述spark任务的所述第一执行时间的历史取值;
115.第二历史取值获取模块,用于获取所述spark任务的第二执行时间的历史取值,其中,所述第二执行时间为所述各个job包括的各个调度阶段stage的总执行时间;
116.第三历史取值获取模块,用于获取所述spark任务的第三执行时间的历史取值,其中,所述第三执行时间为所述各个调度阶段stage包括的各个task的总执行时间;
117.去除异常数据模块,用于采用聚类算法,去除所述第一执行时间的历史取值、所述第二执行时间的历史取值、所述第三执行时间的历史取值中的异常数据;
118.第四历史取值获取模块,用于将与同一运行调度时间对应的所述第一执行时间的历史取值、所述第二执行时间的历史取值和所述第三执行时间的历史取值,加权重值求和,获得与该运行调度时间对应的预测执行时间的历史取值;
119.第二确定模块,用于根据所述预测执行时间的历史取值和与所述预测执行时间的历史取值对应的运行调度时间,获得所述执行时间预测模型。
120.可选的,所述第二历史取值获取模块包括:
121.第二时间获取子模块,用于在i取1至n中每一个整数时,获取所述各个job包括的第i个stage的第二提交时间与第二完成时间;
122.第二确定子模块,用于将所述第i个stage的第二提交时间与第二完成时间的时间间隔,确定为所述第i个stage的执行时间,其中,n为所述各个job包括的stage的数量;
123.第二计算子模块,用于计算第1至n个stage的执行时间的和,以作为所述第二执行时间。
124.可选的,所述第三历史取值获取模块包括:
125.第三时间获取子模块,用于在j取1至m中每一个整数时,获取所述各个调度阶段stage包括的第j个task的第三提交时间与第三完成时间;
126.第三确定子模块,用于将所述第j个task的第三提交时间与第三完成时间的时间间隔,确定为所述第j个task的执行时间,其中,m为所述各个调度阶段stage包括的task的
数量;
127.第三计算子模块,用于计算第1至m个task的执行时间的和,以作为所述第三执行时间。
128.可选的,所述第一确定模块包括:
129.第四确定子模块,用于在所述第一执行时间的目标取值与所述预测执行时间的值的差值的绝对值,大于第一预设阈值的情况下,确定所述spark任务的执行过程存在问题;
130.第五确定子模块,用于在所述第一执行时间的目标取值与所述预测执行时间的值的差值的绝对值,小于或者等于所述第一预设阈值的情况下,确定所述spark任务的执行过程未存在问题。
131.可选的,所述任务监控装置400,还包括:
132.第三输出模块,用于将所述待监控的运行调度时间,输入至预先确定的与所述spark任务对应的执行时间预测模型,输出预测执行时间的值;
133.所述任务监控装置400,还包括:
134.判断模块,用于从所述待监控的运行调度时间开始,每隔预设时间间隔,判断所述spark任务是否执行完成;
135.第三确定模块,用于在所述spark任务未执行完成时,根据目标时间间隔和所述预测执行时间的值,确定所述spark任务的执行过程是否存在问题,其中,所述目标时间间隔为当前时间和所述待监控的运行调度时间的目标时间间隔;
136.第四确定模块,用于在所述spark任务执行完成时,跳过根据目标时间间隔和所述预测执行时间的值,确定所述spark任务的执行过程是否存在问题的步骤。
137.可选的,所述第三确定模块包括:
138.第四计算子模块,用于计算目标时间间隔与所述预测执行时间的值的差值;
139.第六确定子模块,用于在所述差值大于第二预设阈值的情况下,确定所述spark任务的执行过程存在问题;
140.第七确定子模块,用于在所述差值小于或等于所述第二预设阈值的情况下,确定所述spark任务的执行过程未存在问题。
141.可选的,所述任务监控装置400,还包括:
142.执行模块,用于在确定所述spark任务的执行过程存在问题的情况下,执行预设报警操作。
143.由此可知,在本发明实施例中,能够获取待监控的spark任务;从而获取所述spark任务在待监控的运行调度时间执行时,第一执行时间的目标取值,其中,所述第一执行时间为所述spark任务包括的各个job的总执行时间。
144.其中,一个spark任务包括多个job,一个job对应多个stage,一个stage对应多个task,并且一个job包括的多个stage是并行执行,则一个job中最后完成的stage的执行时间为该job的完成时间;同理,一个stage包括的多个task是并行执行的,则一个stage中最后完成的task的执行时间为该stage的完成时间,因此,前述第一执行时间未将调度队列的等待时间计算在内。
145.由此可见,在本发明的实施例中,前述第一执行时间可以用于描述spark任务包括的各个job执行所需的实际时间。即本发明的实施例,从spark任务下的job层级出发进行任
务监控,可以准确得到spark任务包括的各个job执行所需的实际时间,从而提升了对spark任务执行时间的准确度。
146.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
147.本发明实施例还提供了一种电子设备,包括:
148.一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
149.本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
150.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
151.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
152.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
153.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
154.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
155.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
156.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品
或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
157.以上对本发明所提供的一种任务监控方法、装置电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献