[发明专利]一种Spark分区负载均衡方法在审
申请号: | 202010727870.4 | 申请日: | 2020-07-24 |
公开(公告)号: | CN111966490A | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 谢桂园;黄子纯;廖信海;魏文国 | 申请(专利权)人: | 广东技术师范大学;广东外语外贸大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510665 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 spark 分区 负载 均衡 方法 | ||
1.一种Spark分区负载均衡方法,其特征在于,包括
在启动Map任务后,通过分区监控器获取并统计操作信息,得到操作统计信息;
在获得所述操作统计信息后,通过所述分区大小预测器,计算完成100%映射任务量后每个分区生成的中间数据量;
根据所述分区的中间数据量,通过数据倾斜检测模型判断所述所有分区中是否存在倾斜分区;
若存在,则通过资源调度器将所述倾斜分区内的数据进行降序排序,并对原划分文件进行动态调整、以均衡Spark分区负载。
2.根据权利要求1所述的Spark分区负载均衡方法,其特征在于,所述在启动Map任务后,通过分区监控器获取操作信息,具体为:
Worker向Master发送心跳消息,当Master收到Worker心跳信息时,分别获取每一个Reduce任务的操作信息;所述操作信息包括:已处理数据占总数据集的百分比和已完成的Map任务为所述Reduce任务所产生的子分区的总和;其中,已处理数据占总数据集的百分比随着Spark应用程序的运行而变化。
3.根据权利要求2所述的Spark分区负载均衡方法,其特征在于,所述在获得所述操作统计信息后,通过所述分区大小预测器,计算完成100%映射任务量后每个分区生成的中间数据量,包括:
当Map任务完成时,所述已完成的Map任务为所述Reduce任务所产生的子分区的总和为所述Reduce任务的负载;
通过线性回归方程确定所述已处理数据占总数据集的百分比和所述已完成的Map任务为所述Reduce任务所产生的子分区的总和之间的相关系数;
根据所述每一个Reduce任务的相关系数,预测每一个所述Reduce任务的负载。
4.根据权利要求3所述的Spark分区负载均衡方法,其特征在于,所述根据所述分区的中间数据量,通过数据倾斜检测模型判断所述分区中是否存在倾斜分区,具体为:
采用倾斜检测算法判断负载最大的的Reducer节点是否过载,若过则,则为倾斜分区。
5.根据权利要求4所述的Spark分区负载均衡方法,其特征在于,当所述Map任务执行完毕时,对于任意一个Reduce任务,已完成的Map任务为所述Reduce任务所产生的子分区的总和表示为:
其中,αj和βj为相关系数,为已完成的Map任务为Reduce任务j所产生的子分区的总和,Dl为已处理数据占总数据集的百分比,l表示为不同时刻测量到的数据值。
6.根据权利要求5所述的Spark分区负载均衡方法,其特征在于,当Map任务执行完毕时,计算出αj和βj后,将Dl=100%带入求出
7.根据权利要求6所述的Spark分区负载均衡方法,其特征在于,所述数据倾斜检测模型为:
其中,FoD为所有集群集合的总体偏差,σ为初始集群集合的数据倾斜范围;
当FoD≤w数据倾斜程度略有倾斜,FoD≥w时,数据的倾斜程度很大;其中,w为预先设置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东技术师范大学;广东外语外贸大学,未经广东技术师范大学;广东外语外贸大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010727870.4/1.html,转载请声明来源钻瓜专利网。