应用于Spark的作业分配方法及装置制造方法及图纸

技术编号:37440483 阅读:10 留言:0更新日期:2023-05-06 09:12
本发明专利技术实施例公开了一种应用于Spark的作业分配方法及装置,涉及大数据处理技术领域,该方法包括:确定待分配作业的作业类型;从Reducer节点集合中选择出一个目标Reducer节点,然后将所述待分配作业分配到该目标Reducer节点;根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率,重新确定所述目标Reducer节点的选择概率,然后缩放所述Reducer节点集合中其他Reducer节点的选择概率,本发明专利技术有助于解决Spark中因数据倾斜问题而导致数据处理性能下降问题。据处理性能下降问题。据处理性能下降问题。

【技术实现步骤摘要】
应用于Spark的作业分配方法及装置


[0001]本专利技术涉及大数据处理
,具体而言,涉及一种应用于Spark的作业分配方法及装置。

技术介绍

[0002]随着企业需要处理的数据量级越来越大,Spark以其持久化数据以及少量IO读写大量内存执行导致的高处理效率的优势,被广泛用于大规模数据处理中。在许多Spark应用程序中,Map节点输出的数据在Reduce节点上分布不均匀,浪费了高容量Reduce节点的许多负载空间。通过对Spark的内部原理和数据处理过程进行分析和研究,发现Shuffle阶段的分区算法对数据的处理效率对整个任务的完成时间有着严重的影响。在Spark系统中,作业的总完成时间由最慢的Reduce任务决定,为某些低性能的Reduce分配大量数据会导致数据处理效率低,当其他Reduce处于空闲状态,都在等待当前Reduce处理完毕的时候,称为发生了数据倾斜问题。数据倾斜问题被认为是大数据处理平台中的瓶颈,它对大数据分析系统的性能产生了极大的影响。
[0003]如何解决Spark中因数据倾斜问题而导致数据处理性能下降,进而提高Reduce阶段的数据处理效率是目前急需解决的技术问题。

技术实现思路

[0004]本专利技术为了解决Spark中因数据倾斜问题而导致数据处理性能下降的技术问题,提出了一种应用于Spark的作业分配方法及装置。
[0005]为了实现上述目的,根据本专利技术的一个方面,提供了一种应用于Spark的作业分配方法,该方法包括:
[0006]在进行第t次作业分配时,确定待分配作业的作业类型,其中,t为大于等于1的整数;
[0007]进行N轮Reducer节点选择直至从Reducer节点集合中选择出一个目标Reducer节点,然后将所述待分配作业分配到该目标Reducer节点;其中,在进行每轮Reducer节点选择时,先根据第t次作业分配时所述Reducer节点集合中各Reducer节点的选择概率从所述Reducer节点集合中选择出一个Reducer节点,然后计算该选择出的Reducer节点在所述作业类型上的负载阈值,若该选择出的Reducer节点在所述作业类型上的当前负载小于所述负载阈值,则将该选择出的Reducer节点确定为目标Reducer节点;若该选择出的Reducer节点在所述作业类型上的当前负载大于或等于所述负载阈值,则将该选择的Reducer节点从所述Reducer节点集合中删除,然后更新所述Reducer节点集合中剩余各Reducer节点的选择概率,进而进入下一轮Reducer节点选择,N为大于等于1的整数;
[0008]根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率,重新确定所述目标Reducer节点的选择概率,然后基于重新确定的所述目标Reducer节点的选择概率缩放所
述Reducer节点集合中其他Reducer节点的选择概率,得到第t+1次作业分配时所述Reducer节点集合中各Reducer节点的选择概率。
[0009]可选的,所述应用于Spark的作业分配方法,还包括:
[0010]在第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率的基础上,根据预设的奖惩更新模型进行选择概率更新,得到第t+1次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t+1次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率。
[0011]为了实现上述目的,根据本专利技术的另一方面,提供了一种应用于Spark的作业分配装置,该装置包括:
[0012]作业类型确定单元,用于在进行第t次作业分配时,确定待分配作业的作业类型,其中,t为大于等于1的整数;
[0013]节点选择单元,用于进行N轮Reducer节点选择直至从Reducer节点集合中选择出一个目标Reducer节点,然后将所述待分配作业分配到该目标Reducer节点;其中,在进行每轮Reducer节点选择时,先根据第t次作业分配时所述Reducer节点集合中各Reducer节点的选择概率从所述Reducer节点集合中选择出一个Reducer节点,然后计算该选择出的Reducer节点在所述作业类型上的负载阈值,若该选择出的Reducer节点在所述作业类型上的当前负载小于所述负载阈值,则将该选择出的Reducer节点确定为目标Reducer节点;若该选择出的Reducer节点在所述作业类型上的当前负载大于或等于所述负载阈值,则将该选择的Reducer节点从所述Reducer节点集合中删除,然后更新所述Reducer节点集合中剩余各Reducer节点的选择概率,进而进入下一轮Reducer节点选择,N为大于等于1的整数;
[0014]选择概率更新单元,用于根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率,重新确定所述目标Reducer节点的选择概率,然后基于重新确定的所述目标Reducer节点的选择概率缩放所述Reducer节点集合中其他Reducer节点的选择概率,得到第t+1次作业分配时所述Reducer节点集合中各Reducer节点的选择概率。
[0015]可选的,所述应用于Spark的作业分配装置,还包括:
[0016]奖惩更新模型单元,用于在第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率的基础上,根据预设的奖惩更新模型进行选择概率更新,得到第t+1次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t+1次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率。
[0017]为了实现上述目的,根据本专利技术的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用于Spark的作业分配方法的步骤。
[0018]为了实现上述目的,根据本专利技术的另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现上述应用于Spark的作业分配方法的步骤。
[0019]为了实现上述目的,根据本专利技术的另一方面,还提供了一种计算机程序产品,包括
计算机程序/指令,该计算机程序/指令被处理器执行时实现上述应用于Spark的作业分配方法的步骤。
[0020]本专利技术的有益效果为:
[0021]本专利技术实施例在进行第t次作业分配时,先确定待分配作业的作业类型,然后进行N轮Reducer节点选择直至从Reducer节点集合中选择出一个目标Reducer节点,然后根据第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于Spark的作业分配方法,其特征在于,包括:在进行第t次作业分配时,确定待分配作业的作业类型,其中,t为大于等于1的整数;进行N轮Reducer节点选择直至从Reducer节点集合中选择出一个目标Reducer节点,然后将所述待分配作业分配到该目标Reducer节点;其中,在进行每轮Reducer节点选择时,先根据第t次作业分配时所述Reducer节点集合中各Reducer节点的选择概率从所述Reducer节点集合中选择出一个Reducer节点,然后计算该选择出的Reducer节点在所述作业类型上的负载阈值,若该选择出的Reducer节点在所述作业类型上的当前负载小于所述负载阈值,则将该选择出的Reducer节点确定为目标Reducer节点;若该选择出的Reducer节点在所述作业类型上的当前负载大于或等于所述负载阈值,则将该选择的Reducer节点从所述Reducer节点集合中删除,然后更新所述Reducer节点集合中剩余各Reducer节点的选择概率,进而进入下一轮Reducer节点选择,N为大于等于1的整数;根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率,重新确定所述目标Reducer节点的选择概率,然后基于重新确定的所述目标Reducer节点的选择概率缩放所述Reducer节点集合中其他Reducer节点的选择概率,得到第t+1次作业分配时所述Reducer节点集合中各Reducer节点的选择概率。2.根据权利要求1所述的应用于Spark的作业分配方法,其特征在于,还包括:在第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率的基础上,根据预设的奖惩更新模型进行选择概率更新,得到第t+1次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t+1次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率。3.根据权利要求1所述的应用于Spark的作业分配方法,其特征在于,所述确定待分配作业的作业类型,具体包括:从所述待分配作业中取出作业样本;将所述作业样本输入Spark中,利用Map阶段的输入输出量以及Shuffle阶段的输入输出量来计算所述作业样本对应的吞吐量;若所述作业样本对应的吞吐量小于磁盘平均吞吐量,则确定所述待分配作业的作业类型为CPU类型,若所述作业样本对应的吞吐量大于磁盘平均吞吐量,则确定所述待分配作业的作业类型I/O类型。4.根据权利要求1所述的应用于Spark的作业分配方法,其特征在于,所述计算该选择出的Reducer节点在所述作业类型上的负载阈值,具体包括:根据该选择出的Reducer节点在所述作业类型上的计算能力、所有Reducer节点在所述作业类型上的总计算能力、所有Reducer节点在所述作业类型上的当前总负载以及预设的负载溢出百分比,计算该选择出的Reducer节点在所述作业类型上的负载阈值。5.根据权利要求1所述的应用于Spark的作业分配方法,其特征在于,根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率以及第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率,重新确定所述目标Reducer节点的选择概率,具体包括:
根据第t次作业分配时所述目标Reducer节点在所述作业类型上的选择概率、所述目标Reducer节点在所述作业类型上的负载量、所有Reducer节点在所述作业类型上的总负载量、所述目标Reducer节点在所述作业类型上的当前负载以及所有Reducer节点在所述作业类型上的当前总负载,计算出第一概率;根据第t次作业分配时所述目标Reducer节点在非所述作业类型上的选择概率、所述目标Reducer节点在非所述作业类型上的负载量、所有Reducer节点在非所述作业类型上的总负载量、所述目标Reducer节点在非所述作业类型上的当前负载以及所有Reducer节点在非所述作业类型上的当前总负载,计算出第二概率;对所述第一概率和所述第二概率进行加权求和,得到重新确定的所述目标Reducer节点的选择概率,其中,所述第一概率对应的权重值大于所述第二概率对应的权重值。6.根据权利要求1所述的应用于Spark的作业分配方法,其特征在于,还包括:根据所述目标Reducer节点在所述作业类型上的计算能力以及所述目标Reducer节点在非所述作业类型上的计算能力,计算所述目标Reducer节点在所述作业类型上的计算能力比例以及所述目标Reducer节点在非所述作业类型上的计算能力比例。7.根据权利...

【专利技术属性】
技术研发人员:唐苏乐曹磊雷刚
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1