[发明专利]Spark平台的内存动态管理方法和装置在审
申请号: | 201711477992.7 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108196970A | 公开(公告)日: | 2018-06-22 |
发明(设计)人: | 孙浩 | 申请(专利权)人: | 东软集团股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种Spark平台的内存动态管理方法和装置,该方法包括确定Spark平台运行过程中产生内存溢出的第一情况类型;根据与第一情况类型对应方法对内存进行动态管理;其中,第一情况类型包括:Map阶段的内存溢出、调用coalesce函数所造成的内存溢出、Shuffle阶段的内存溢出、单例模式下资源分配不均匀所造成的内存溢出、数据倾斜所造成的内存溢出。通过本发明能够有效地避免Spark平台运行过程的内存溢出,提升Spark平台运行的稳健性和运行效果。 | ||
搜索关键词: | 内存溢出 情况类型 内存动态管理 方法和装置 运行过程 单例模式 动态管理 运行效果 资源分配 不均匀 稳健性 有效地 调用 | ||
【主权项】:
1.一种Spark平台的内存动态管理方法,其特征在于,包括以下步骤:确定所述Spark平台运行过程中产生内存溢出的第一情况类型;根据与所述第一情况类型对应方法对所述内存进行动态管理;其中,所述第一情况类型包括:Map阶段的内存溢出、调用coalesce函数所造成的内存溢出、Shuffle阶段的内存溢出、单例模式下资源分配不均匀所造成的内存溢出、数据倾斜所造成的内存溢出,以及Reduce阶段的内存溢出;所述根据与所述第一情况类型对应方法对所述内存进行动态管理,包括:若所述第一情况类型为所述Map阶段的内存溢出和所述调用coalesce函数所造成的内存溢出,则在所述Map阶段的Map操作之前,对每个Task进行分区处理;若所述第一情况类型为所述Shuffle阶段的内存溢出,则对Shuffle阶段中所传入参数partitioner的数量进行调整处理,并对所述Shuffle阶段进行调优处理;若所述第一情况类型为所述单例模式下资源分配不均匀所造成的内存溢出,则在单例模式下对参数executor‑cores或者参数spark.executor.cores进行配置处理;若所述第一情况类型为所述数据倾斜所造成的内存溢出,则确定产生所述数据倾斜的代码位置和数据分布情况,根据所述代码位置和数据分布情况对所述内存进行动态管理;若所述第一情况类型为所述Reduce阶段的内存溢出,则确定产生内存溢出的Reduce节点,并采用冒烟算法确定所述产生内存溢出的Reduce节点相对于所述Reduce阶段中,除所述产生内存溢出的Reduce节点之外的Reduce节点的平衡性占比,以及根据所述平衡性占比对所述产生内存溢出的Reduce节点的数据结果进行保留或者丢弃处理。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711477992.7/,转载请声明来源钻瓜专利网。