本申请涉及一种结合输入数据量的Spark离线任务资源调度优化方法,通过采集并解析Spark离线任务,得到所述Spark离线任务的数据表的行数,并计算所述数据表的行数;基于预设的资源规则列表,对上述统计的总行数进行匹配,得到对应的所述计算资源规则;根据所述计算资源规则,将所述Spark离线任务调度发送至对应的执行节点进行执行。能够结合Spark离线任务数据表的行数的属性,进行计算资源的优化调度,使得在实际计算的过程中能够根据Spark任务输入数据表的数据量,动态按照预设规则进行资源参数配置,以此优化计算资源的分配,提高计算效率,促使Spark离线任务高效运行,有效满足客户需求。
【技术实现步骤摘要】
本公开涉及任务管理,尤其涉及一种结合输入数据量的spark离线任务资源调度优化方法、系统和电子设备。
技术介绍
1、spark离线任务在运行过程中,若单个任务的计算资源(driver-memory、driver-cores、num-executors、executor-memory、executor-cores)没有特别指定,那么driver的资源将按照默认配置设定,executor的资源将按照实际输入的数据量、文件个数动态指定。
2、但在实际应用场景中,会有如下几类情形:
3、计算量大的任务必然会占用过多的计算资源,但是这些任务的执行时效可能不着急,因此可以对这类任务设置更小的计算资源;
4、面向业务或高级管理的数据任务是优先级比较高的任务,期望更快完成,因此需要拿到更多的计算资源来保证计算时长不会很长。
5、而对于单个客户而言,客户期望业务数据特点是稳定的。因此对于不同数据规模的spark任务,可以按照数据量设置一个相对的标准,在实际计算的过程中能够根据spark任务输入数据表的数据量,动态按照预设规则进行资源参数配置。
6、但现有spark离线任务资源调度环节,并无上述离线任务下的动态资源调度配置方案,因此无法有效满足客户需求,导致spark离线任务资源调度低效,任务运行、执行完成率不高。
技术实现思路
1、为了解决上述问题,本申请提出一种结合输入数据量的spark离线任务资源调度优化方法、系统和电子设备。
<
p>2、本申请一方面,提出一种结合输入数据量的spark离线任务资源调度优化方法,包括如下步骤:3、s1、预设构建由不同行数与对应计算资源规则组成的资源规则列表;
4、s2、采集并解析所述spark离线任务,得到所述spark离线任务的数据表的行数,并计算所述数据表的行数;
5、s3、基于所述资源规则列表,对所述数据表的行数进行匹配,得到对应的所述计算资源规则;
6、s4、根据所述计算资源规则,将所述spark离线任务调度发送至对应的执行节点进行执行。
7、作为本申请的一可选实施方案,可选地,s1、预设构建由不同行数与对应计算资源规则组成的资源规则列表,包括:
8、构建用于提取行数以及识别计算资源规则的大模型提示词,并配置在预设的llm大语言模型中;
9、从后台数据库中收集若干所述spark离线任务的历史执行日志;
10、遍历所述历史执行日志,由所述llm大语言模型基于所述大模型提示词,从所述历史执行日志中识别并提取出不同所述spark离线任务的所述数据表的行数与执行所述spark离线任务的计算资源规则;
11、统计不同所述spark离线任务的行数与对应的计算资源规则,并由所述llm大语言模型将其自动填写至预设的规则表中,得到所述资源规则列表;
12、将所述资源规则列表配置在资源调度器中。
13、作为本申请的一可选实施方案,可选地,所述计算资源规则中,包括如下规则要素:
14、driver-memory:驱动器内存
15、driver-cores:驱动器核心;
16、num-executors:执行器数量;
17、executor-memory:执行器内存;
18、executor-cores:执行器核心。
19、作为本申请的一可选实施方案,可选地,s2、采集并解析所述spark离线任务,得到所述spark离线任务的数据表的行数,并计算所述数据表的行数,包括:
20、采集由客户端上报的所述spark离线任务至资源管理器;
21、通过资源管理器解析所述spark离线任务,得到所述spark离线任务中的所述数据表的行数;
22、使用enumerate函数结合文件迭代方式,计算所述数据表的行数并输入至资源调度器。
23、作为本申请的一可选实施方案,可选地,s3、基于所述资源规则列表,对所述数据表的行数进行匹配,得到对应的所述计算资源规则,包括:
24、通过资源管理器读取当前所述spark离线任务中的所述数据表的行数;
25、调用所述资源规则列表,对当前所述spark离线任务中的所述数据表的行数进行匹配检索,寻找与当前所述spark离线任务中的所述数据表的行数相对应的所述计算资源规则;
26、将所述计算资源规则与当前所述spark离线任务相绑定。
27、作为本申请的一可选实施方案,可选地,在调用所述资源规则列表,对当前所述spark离线任务中的所述数据表的行数进行匹配检索之时,包括:
28、通过所述资源管理器生成对应的检索任务;
29、将所述检索任务发送至llm大语言模型,由llm大语言模型执行所述检索任务,对当前所述spark离线任务中的所述数据表的行数进行匹配检索并将相应的所述计算资源规则反馈至所述资源管理器;
30、所述资源管理器根据当前所述spark离线任务的任务属性,将当前所述spark离线任务以及对应的所述计算资源规则,通过路由器转发至对应的节点管理器。
31、作为本申请的一可选实施方案,可选地,s4、根据所述计算资源规则,将所述spark离线任务调度发送至对应的执行节点进行执行,包括:
32、通过节点管理器接收所述资源管理器转发的所述计算资源规则以及当前所述spark离线任务;
33、由所述节点管理器读取所述计算资源规则,识别所述计算资源规则中的计算资源属性,根据所述计算资源属性,激活相应的执行节点;
34、将所述spark离线任务转发至被激活的所述执行节点,进行所述spark离线任务的任务执行。
35、本申请另一方面,提出一种实现所述结合输入数据量的spark离线任务资源调度优化方法的系统,包括:
36、客户端,用于上报spark离线任务;
37、资源管理器,用于采集并解析所述spark离线任务,得到所述spark离线任务的数据表的行数,并计算所述数据表的行数;以及,基于所述资源规则列表,对所述数据表的行数进行匹配,得到对应的所述计算资源规则;
38、节点管理器,用于管理各个执行节点;以及,根据所述计算资源规则,将所述spark离线任务调度发送至对应的执行节点进行执行;
39、路由器,用于所述资源管理器根据当前所述spark离线任务的任务属性,将当前所述spark离线任务以及对应的所述计算资源规则转发至对应的所述节点管理器;
40、llm大语言模型api,用于所述资源管理器调用llm大语言模型;
41、后台数据库,用于后台数据存储;
42、所述资源管理器、路由器、节点管理器、llm大语言模型api和后台数据库,均部署于后台服务器上;
43、本文档来自技高网
...
【技术保护点】
1.一种结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,包括如下步骤:
2.根据权利要求1所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,S1、预设构建由不同行数与对应计算资源规则组成的资源规则列表,包括:
3.根据权利要求1所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,S2、采集并解析所述Spark离线任务,得到所述Spark离线任务的数据表的行数,并计算所述数据表的行数,包括:
4.根据权利要求1所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,S3、基于所述资源规则列表,对所述数据表的行数进行匹配,得到对应的所述计算资源规则,包括:
5.根据权利要求4所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,在调用所述资源规则列表,对当前所述Spark离线任务中的所述数据表的行数进行匹配检索之时,包括:
6.根据权利要求4所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,S4、根据所述计算资源规则,将所述Spark离线任务调度发送至对应的执行节点进行执行,包括:
7.根据权利要求1所述结合输入数据量的Spark离线任务资源调度优化方法,其特征在于,所述计算资源规则中,包括如下规则要素:
8.实现权利要求1-7中任一项所述结合输入数据量的Spark离线任务资源调度优化方法的系统,其特征在于,包括:
9.电子设备,其特征在于,包括:
...
【技术特征摘要】
1.一种结合输入数据量的spark离线任务资源调度优化方法,其特征在于,包括如下步骤:
2.根据权利要求1所述结合输入数据量的spark离线任务资源调度优化方法,其特征在于,s1、预设构建由不同行数与对应计算资源规则组成的资源规则列表,包括:
3.根据权利要求1所述结合输入数据量的spark离线任务资源调度优化方法,其特征在于,s2、采集并解析所述spark离线任务,得到所述spark离线任务的数据表的行数,并计算所述数据表的行数,包括:
4.根据权利要求1所述结合输入数据量的spark离线任务资源调度优化方法,其特征在于,s3、基于所述资源规则列表,对所述数据表的行数进行匹配,得到对应的所述计算资源规则,包括:
5.根...
【专利技术属性】
技术研发人员:石凯,吴宝琪,
申请(专利权)人:杭州观远数据有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。