spark任务分析方法、装置、设备、介质和产品与流程
未命名
10-22
阅读:71
评论:0
1.本技术涉及大数据处理技术领域,特别是涉及一种spark任务分析方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
2.当前大数据批量作业运行过程中,可能会因为资源不足、数据倾斜以及不合理的加工逻辑等导致spark作业在运行过程中报错,系统经过几次自动尝试之后仍然报错,此时就需要开发人员介入进行分析处理。目前,常用的处理过程为开发人员通过查看日志去定位任务运行后的报错信息和任务运行信息,但是,由于大数据日志保留时间有限,一段时间后就会被清除,因此,如果开发人员没有及时查看日志,就无法定位报错信息和任务运行信息。
技术实现要素:
3.基于此,有必要针对上述技术问题,提供一种能够随时对报错进行处理的spark任务分析方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.第一方面,本技术提供了一种spark任务分析方法,所述方法包括:
5.获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;
6.基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;
7.获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
8.在其中一个实施例中,所述基于所述状态数据和预设报错条件,确定报错信息,包括:
9.判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。
10.在其中一个实施例中,所述获取spark任务的运行过程信息,包括:
11.在spark任务的代码中设置sparklistener参数;
12.基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。
13.在其中一个实施例中,所述基于所述报错信息和所述运行过程信息,对所述spark任务进行分析,包括:
14.基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;
15.基于所述报错信息,对相应的运行过程信息进行分析。
16.在其中一个实施例中,所述基于所述任务运行数据和预设报错条件,确定报错信息之后,还包括:
17.基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;
18.基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
19.在其中一个实施例中,所述运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括多个节点。
20.第二方面,本技术还提供了一种spark任务分析装置,所述装置包括:
21.获取模块,用于获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;
22.确定模块,用于基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;
23.分析模块,用于获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
24.第三方面,本技术还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的任意一个实施例中的方法的步骤。
25.第四方面,本技术还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的任意一个实施例中的方法的步骤。
26.第五方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的任意一个实施例中的方法的步骤。
27.上述spark任务分析方法、装置、计算机设备、存储介质和计算机程序产品,获取spark任务的状态数据,状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于状态数据和预设报错条件,确定报错信息,预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于报错信息和运行过程信息,对spark任务进行分析。本技术提供的方法,报错信息是基于状态数据和预设报错条件确定的,而状态数据不存在被清除的风险,因此,可以随时根据报错信息和运行过程信息,对spark任务进行分析处理。
附图说明
28.图1为一个实施例中spark任务分析方法的流程示意图;
29.图2为一个实施例中告警信息发送方法的流程示意图;
30.图3为一个实施例中spark任务分析装置的结构框图;
31.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
32.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
33.在一个实施例中,如图1所示,提供了一种spark任务分析方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
34.本实施例中,该方法包括以下步骤:
35.s102、获取spark任务的状态数据,状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态。
36.其中,spark是用于大规模数据处理的统一分析引擎,包括用于sql、流、机器学习以及图形处理的内置模块。实例是对象的具体表示,操作可以作用于实例,实例可以有状态地存储操作结果,实例被用来模拟现实世界中存在的、具体的或原型的东西。任务最终状态为任务运行成功或者任务运行失败。
37.s104、基于状态数据和预设报错条件,确定报错信息,预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及任务最终状态为任务运行失败中的至少一种。
38.其中,报错信息表征spark任务在运行过程中出现的错误,这种错误可以通过状态数据体现出来。
39.s106、获取spark任务的运行过程信息,并基于报错信息和运行过程信息,对spark任务进行分析。
40.其中,终端会基于报错信息和运行过程信息,确定spark任务运行过程中错误出现的具体位置,并根据该具体位置,对spark任务的程序代码进行调整,以消除错误。
41.上述spark任务分析方法中,获取spark任务的状态数据,状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于状态数据和预设报错条件,确定报错信息,预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于报错信息和运行过程信息,对spark任务进行分析。本技术提供的方法,报错信息是基于状态数据和预设报错条件确定的,而状态数据不存在被清除的风险,因此,可以随时根据报错信息和运行过程信息,对spark任务进行分析处理。
42.在一些实施例中,基于状态数据和预设报错条件,确定报错信息,包括:判断状态数据是否满足预设报错条件,若状态数据满足预设报错条件,则从状态数据中确定错误数据,并基于错误数据确定报错信息。
43.其中,若状态数据不满足预设报错条件,则说明spark任务运行过程中没有出现错误,就不需要对spark任务进行分析处理。
44.本步骤中,通过判断状态数据是否满足预设报错条件,来确定spark任务运行过程
中是否出现错误,能够提高报错效率。
45.在一些实施例中,获取spark任务的运行过程信息,包括:在spark任务的代码中设置sparklistener参数;基于sparklistener参数,在spark任务的运行过程中获取运行过程信息。
46.其中,spark提供了一系列整个任务生命周期中各个阶段变化的事件监听机制,通过这一机制可以在任务的各个阶段做一些自定义的各种动作,sparklistener便是这些阶段的事件监听接口类通过实现这个类中的各种方法便可实现自定义的事件处理动作。
47.本步骤中,基于sparklistener参数,获取运行过程信息,能够使得获取的运行过程信息更加准确。
48.在一些实施例中,基于报错信息和运行过程信息,对spark任务进行分析,包括:基于报错信息和预设分析规则,确定与报错信息对应的运行过程信息,预设分析规则表征报错信息和运行过程信息间的对应关系;基于报错信息,对相应的运行过程信息进行分析。
49.其中,通过对报错信息对应的运行过程信息进行分析,就能够确定spark任务运行过程中出现错误的具体位置。
50.本步骤中,根据预设分析规则,对运行过程信息进行分析,能够使得对于spark任务的分析更加准确。
51.在一些实施例中,如图2所示,基于任务运行数据和预设报错条件,确定报错信息之后,还包括:
52.s202、基于报错信息和告警级别间的对应关系,确定报错信息对应的告警级别。
53.其中,告警级别表征不同报错信息所对应的错误的类型。
54.s204、基于告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
55.其中,告警信息用于提醒相应人员,spark任务运行过程中出现错误,并提醒工作人员根据spark任务的分析结果,及时修正错误对应的代码。
56.本步骤中,基于告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息,能够及时提醒工作人员去处理错误。
57.在一些实施例中,运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,spark任务包括多个行动算子,行动算子和job一一对应,每个job包括多个节点。
58.其中,行动算子需要触发执行,只有执行了行动算子,与之相应的job才会运行。
59.本步骤中,通过确定运行过程信息具体包括的内容,能够有效提高对spark任务的分析效率。
60.在一个实施例中,提供了另一种spark任务分析方法,该方法包括以下内容:
61.(1)对spark作业的运行过程信息进行收集与存储,主要包括各行动算子的执行过程、任务信息、资源信息、各节点数据条数和大小分布等。
62.(2)对任务整体运行状态进行记录:主要包括:任务运行实例日期、开始时间、结束时间、最终状态,报错信息、告警级别等。
63.(3)对监控有问题的任务按照告警级别对级别符合的相关人员进行及时告警。
64.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头
的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
65.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的spark任务分析方法的spark任务分析装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个spark任务分析装置实施例中的具体限定可以参见上文中对于spark任务分析方法的限定,在此不再赘述。
66.在一个实施例中,如图3所示,提供了一种spark任务分析装置300,包括:获取模块301、确定模块302和分析模块303,其中:
67.获取模块301,用于获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态。
68.确定模块302,用于基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种。
69.分析模块303,用于获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
70.在一些实施例中,确定模块302,还用于:判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。
71.在一些实施例中,分析模块303,还用于:在spark任务的代码中设置sparklistener参数;基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。
72.在一些实施例中,分析模块303,还用于:基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;基于所述报错信息,对相应的运行过程信息进行分析。
73.在一些实施例中,spark任务分析装置300,具体用于:基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
74.在一些实施例中,spark任务分析装置300,还用于:运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括多个节点。
75.上述spark任务分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
76.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种spark任务分析方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
77.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
78.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
79.在一个实施例中,处理器执行计算机程序时所实现的基于所述状态数据和预设报错条件,确定报错信息,包括:判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。
80.在一个实施例中,处理器执行计算机程序时所实现的获取spark任务的运行过程信息,包括:在spark任务的代码中设置sparklistener参数;基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。
81.在一个实施例中,处理器执行计算机程序时所实现的基于所述报错信息和所述运行过程信息,对所述spark任务进行分析,包括:基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;基于所述报错信息,对相应的运行过程信息进行分析。
82.在一个实施例中,处理器执行计算机程序时所实现的基于所述任务运行数据和预设报错条件,确定报错信息之后,还包括:基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
83.在一个实施例中,处理器执行计算机程序时所实现的运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括
多个节点。
84.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
85.在一个实施例中,计算机程序被处理器执行时所实现的基于所述状态数据和预设报错条件,确定报错信息,包括:判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。
86.在一个实施例中,计算机程序被处理器执行时所实现的获取spark任务的运行过程信息,包括:在spark任务的代码中设置sparklistener参数;基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。
87.在一个实施例中,计算机程序被处理器执行时所实现的基于所述报错信息和所述运行过程信息,对所述spark任务进行分析,包括:基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;基于所述报错信息,对相应的运行过程信息进行分析。
88.在一个实施例中,计算机程序被处理器执行时所实现的基于所述任务运行数据和预设报错条件,确定报错信息之后,还包括:基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
89.在一个实施例中,计算机程序被处理器执行时所实现的运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括多个节点。
90.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
91.在一个实施例中,计算机程序被处理器执行时所实现的基于所述状态数据和预设报错条件,确定报错信息,包括:判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。
92.在一个实施例中,计算机程序被处理器执行时所实现的获取spark任务的运行过
程信息,包括:在spark任务的代码中设置sparklistener参数;基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。
93.在一个实施例中,计算机程序被处理器执行时所实现的基于所述报错信息和所述运行过程信息,对所述spark任务进行分析,包括:基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;基于所述报错信息,对相应的运行过程信息进行分析。
94.在一个实施例中,计算机程序被处理器执行时所实现的基于所述任务运行数据和预设报错条件,确定报错信息之后,还包括:基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。
95.在一个实施例中,计算机程序被处理器执行时所实现的运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括多个节点。
96.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
97.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
98.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
99.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:
1.一种spark任务分析方法,其特征在于,所述方法包括:获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。2.根据权利要求1所述的方法,其特征在于,所述基于所述状态数据和预设报错条件,确定报错信息,包括:判断所述状态数据是否满足所述预设报错条件,若所述状态数据满足所述预设报错条件,则从所述状态数据中确定错误数据,并基于所述错误数据确定报错信息。3.根据权利要求1所述的方法,其特征在于,所述获取spark任务的运行过程信息,包括:在spark任务的代码中设置sparklistener参数;基于所述sparklistener参数,在spark任务的运行过程中获取所述运行过程信息。4.根据权利要求1所述的方法,其特征在于,所述基于所述报错信息和所述运行过程信息,对所述spark任务进行分析,包括:基于所述报错信息和预设分析规则,确定与所述报错信息对应的运行过程信息,所述预设分析规则表征所述报错信息和所述运行过程信息间的对应关系;基于所述报错信息,对相应的运行过程信息进行分析。5.根据权利要求1所述的方法,其特征在于,所述基于所述任务运行数据和预设报错条件,确定报错信息之后,还包括:基于所述报错信息和告警级别间的对应关系,确定报错信息对应的告警级别;基于所述告警级别和人员类型间的对应关系,向相应类型的人员终端发送告警信息。6.根据权利要求1所述的方法,其特征在于,所述运行过程信息包括各行动算子的执行过程信息、job信息、资源信息、各节点数据条数、各结点数据大小以及各节点数据分布情况,所述spark任务包括多个行动算子,所述行动算子和job一一对应,每个job包括多个节点。7.一种spark任务分析装置,其特征在于,所述装置包括:获取模块,用于获取spark任务的状态数据,所述状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;确定模块,用于基于所述状态数据和预设报错条件,确定报错信息,所述预设报错条件包括任务运行实例日期之后的预设时间段内任务没有开始运行、所述任务开始时间点和任务结束时间点间的时间长度不在预设时长范围内、以及所述任务最终状态为任务运行失败中的至少一种;分析模块,用于获取spark任务的运行过程信息,并基于所述报错信息和所述运行过程信息,对所述spark任务进行分析。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结
本申请涉及一种spark任务分析方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取spark任务的状态数据,状态数据包括任务运行实例日期、任务开始时间点、任务结束时间点以及任务最终状态;基于状态数据和预设报错条件,确定报错信息;获取spark任务的运行过程信息,并基于报错信息和运行过程信息,对spark任务进行分析。本申请提供的方法,报错信息是基于状态数据和预设报错条件确定的,而状态数据不存在被清除的风险,因此,可以随时根据报错信息和运行过程信息,对spark任务进行分析处理。务进行分析处理。务进行分析处理。
技术研发人员:李福洋 赵慧洁 齐瑞婕
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.05.31
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/