System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据,尤其涉及一种确定spark目标参数的方法、装置及电子设备。
技术介绍
1、spark(apache spark)是继hadoop之后的新一代大数据分布式处理框架,是由美国加州大学伯克利分校amplab提出的一个大数据分析平台,其特点基于内存进行计算且提出弹性式分布数据集(resilientdistributeddataset,rdd)的概念,不但可以多迭代批量处理数据,还可以兼顾数据仓库、流数据处理和图计算等多种范式,是大数据系统领域的全栈计算平台。现基于spark计算框架的spark sql(structured query language,结构化查询语言)正在逐步替换hive(hybrid integration and visualization engine,混合集成和可视化引擎)sql,成为大数据etl(extract-transform-load,数据仓库技术)计算的主流工具。
2、spark具备大量的可配置优化参数,合理的配置将极大的提升作业执行性能。目前为spark配置参数的主流方法是,以spark作业时间最短为目标,对参数进行建模,以寻求一组最优参数组合使spark的作业时间达到最短。尽管上述方法现已通过算法或深度学习模型得到改进,但因其始终以完成作业时间是否最短作为参数是否最优的衡量标准,而忽视了最优参数对于spark作业过程中数据量、资源(例如,执行节点等)等诸多条件所造成的反向限制,这使得上述方法确定所得的最优参数不能适用于所有作业条件。而spark通常并发执行多个作业,倘
技术实现思路
1、本申请提供了一种确定spark目标参数的方法、装置及电子设备,用以为spark集群各项spark作业确定目标参数,以在目标参数下执行spark作业时,作业时间和占用物理资源达到平衡,且均处于低水平,从而有效提升了多项spark作业并发执行时的spark集群的性能表现。
2、第一方面、本申请实施例提供一种确定spark目标参数的方法,包括:
3、确定spark作业所对应的第一资源密度值;其中,资源密度值基于执行所述spark作业的单位时间、以及所述单位时间内执行所述spark作业所占用的物理资源得到;
4、基于所述第一资源密度值与获取到的参考值,确定第一偏离度;
5、响应于所述第一偏离度小于第一预设阈值,确定与所述第一资源密度值对应的spark参数为目标参数。
6、一种可能的实施方式,所述spark作业包括多个目标阶段;其中,所述目标阶段包括数据读取阶段、数据加工阶段和数据落盘阶段;
7、则所述第一资源密度值包括与所述目标阶段对应的第一目标密度值。
8、一种可能的实施方式,所述确定spark作业所对应的第一资源密度值,包括:
9、获取所述spark作业的参数集合,并确定所述spark作业的n个目标阶段;n为大于1的整数;
10、基于所述参数集合,确定与所述目标阶段对应的第一目标密度值;则所述第一资源密度值为n个所述第一目标密度值。
11、一种可能的实施方式,所述第一偏离度包括与所述目标阶段一一对应的第一目标偏离度;
12、则所述基于所述第一资源密度值与获取到的参考值,确定第一偏离度,包括:
13、基于所述第一目标密度值和与所述目标阶段对应的所述参考值,确定所述第一目标偏离度。
14、一种可能的实施方式,与所述数据读取阶段对应的第一目标密度值基于所述数据读取阶段中,读取的数据量与执行节点上内核总数和读取数据所占用时间的乘积之间的比值得到;
15、与所述数据加工阶段对应的第一目标密度值基于shuffle所对应的执行内存,与shuffle产生的数据量和shuffle时间的乘积之间的比值得到;
16、与所述数据落盘阶段对应的第一目标密度值基于所述数据落盘阶段,落盘的数据量与内核总数和落盘所占用时间的乘积之间的比值,以及指示落盘文件碎片化程度的指示值得到;其中,所述落盘文件碎片化程度指,落盘数据在分布式文件系统中生成的文件数量对落盘效率的影响程度。
17、一种可能的实施方式,所述数据加工阶段还包括内存回收阶段;
18、则与所述内存回收阶段的第一目标密度值基于各节点内存回收总时间与内存回收的节点数量之比得到。
19、一种可能的实施方式,所述基于所述第一资源密度值与获取到的参考值,确定第一偏离度之后,还包括:
20、响应于所述第一偏离度大于或等于所述第一预设阈值,调整所述spark作业的参数,并执行所述spark作业,得到所述spark作业所对应的第二资源密度值、以及第二偏离度;
21、响应于所述第二偏离度小于所述第一预设阈值,或者,所述目标阶段的影响系数之和满足预设条件,确定与所述第二资源密度值对应的spark参数为所述目标参数;其中,所述影响系数之和通过对所述目标阶段的目标密度值加权求和得到。
22、一种可能的实施方式,所述预设条件包括所述影响系数之和大于第二预设阈值,和/或所述影响系数之和的标准差收敛。
23、一种可能的实施方式,所述响应于所述第一偏离度大于第一预设阈值之后,且所述调整所述spark的运行参数之前,还包括:
24、读取所述spark的作业日志,确定所述spark作业是否满足预设的参数调整条件;若否,则生成代码修改提示;其中,
25、所述参数调整条件包括,数据本地性的级别为目标级别,弹性分布式数据集生成次数低于预设次数阈值,以及表关联策略不含bnlj和cpj;所述目标级别为process_local、node_local、或no_pref中的至少一种。
26、第二方面、本申请实施例提供一种确定spark目标参数的装置,包括:
27、作业单元,用于确定spark作业所对应的第一资源密度值;其中,资源密度值基于执行所述spark作业的单位时间、以及所述单位时间内执行所述spark作业所占用的物理资源得到;
28、偏离单元,用于基于所述第一资源密度值与获取到的参考值,确定第一偏离度;
29、目标单元,用于响应于所述第一偏离度小于第一预设阈值,确定与所述第一资源密度值对应的spark参数为目标参数。
30、一种可能的实施方式,所述spark作业包括多个目标阶段;其中,所述目标阶段包括数据读取阶段、数据加工阶段和数据落盘阶段;
31、则所述第一资源密度值包括与所述目标阶段对应的第一目标密度值。
32、一种可能的实施方式,所述作业单元具体用于获取所述spark作业的参数集合,并确定所述spark作业的n个目标阶段;n为大于1的整数;基于所述参数本文档来自技高网...
【技术保护点】
1.一种确定SPARK目标参数的方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述确定SPARK作业所对应的第一资源密度值,包括:
3.如权利要求1或2所述的方法,其特征在于,所述SPARK作业包括多个目标阶段;其中,所述目标阶段包括数据读取阶段、数据加工阶段和数据落盘阶段;
4.如权利要求3所述的方法,其特征在于,所述第一偏离度包括与所述目标阶段一一对应的第一目标偏离度;
5.如权利要求3所述的方法,其特征在于,与所述数据读取阶段对应的第一目标密度值基于所述数据读取阶段中,读取的数据量与执行节点上内核总数和读取数据所占用时间的乘积之间的比值得到;
6.如权利要求5所述的方法,其特征在于,所述数据加工阶段还包括内存回收阶段;
7.如权利要求2,4-5任一项所述的方法,其特征在于,所述基于所述第一资源密度值与获取到的参考值,确定第一偏离度之后,还包括:
8.如权利要求7所述的方法,其特征在于,所述预设条件包括所述影响系数之和大于第二预设阈值,和/或所述影响系数之和的标准差收敛。<
...【技术特征摘要】
1.一种确定spark目标参数的方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述确定spark作业所对应的第一资源密度值,包括:
3.如权利要求1或2所述的方法,其特征在于,所述spark作业包括多个目标阶段;其中,所述目标阶段包括数据读取阶段、数据加工阶段和数据落盘阶段;
4.如权利要求3所述的方法,其特征在于,所述第一偏离度包括与所述目标阶段一一对应的第一目标偏离度;
5.如权利要求3所述的方法,其特征在于,与所述数据读取阶段对应的第一目标密度值基于所述数据读取阶段中,读取的数据量与执行节点上内核总数和读取数据所占用时间的乘积之间的比值得到;
6.如权利要求5所述的方法,其特征在于,所述数据加工阶段还包括内存回收阶段;
7.如权利要求2,4-5任一项所述的方法,其特征在于,所述基于所述第一资源密度值与获取到的参考值,确定第一偏离度之后,还包括:
8.如权利要求7所述的方法,其特征在于,所述预设条件包括所述影响系数之和大于第二预设阈值,和/或所述影响系数之和的标准差收敛。
9.如权利要求1所述的方法,其特征在于,所述响应于所述第一偏离度大于第一预设阈值之后,且所述调整所述sp...
【专利技术属性】
技术研发人员:郭涵,谢浩,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。