【技术实现步骤摘要】
本专利技术涉及分布式大数据处理的领域,尤其涉及。
技术介绍
Spark与Hadoop相似,是一个基于内存计算的开源集群计算系统,能够并行处理大数据集的计算,可以实现大数据的交互式查询以及优化迭代工作负载。Spark将数据集缓存在内存中,缩短了 I/O访问延迟。但是随着数据量的激增以及人们对任务执行速度的要求越来越高,提高Spark的性能成为一个迫切的需求。通过对内存加速提高内存使用效率以提高运行速度,是提高Spark系统性能的一种方式。目前,程序员需要在Spark中利用cache O方法将RDD显示载入内存,此种方式要求程序员对内存使用有一定的基础,而该方式使得内存利用率的高低很大程度依赖于程序员编写的代码质量的优劣,在有些情况下,仅通过优化代码本身无法提高内存使用率。
技术实现思路
鉴于上述内容,有必要提供一种,能够充分利用内存资源,提高内存使用率,降低程序员编程负担。所述的,该方法包括:在Spark的源程序代码中插入监听代码,以样本数据作为输入预先执行应用程序,对应用程序进行动态语义分析,获取所有RDD函数操作的输入RDD ID、操作类型、输出RDD ID,根据获取的信息构造DAG ;遍历上述DAG,计算各顶点的出度,筛选出出度大于I的顶点对应的RDD并建立RDD集合S,该集合S中的RDD为需要缓存至内存中的RDD ;调整上述RDD集合S中所有RDD的Action执行顺序,以优化需要缓存至内存的RDD数据计算的访问顺序;计算所述RDD集合S中所有RDD的权重;当输入真正的作业数据执行应用程序时,根据优化的RDD数据计算的访问顺序,依次将RDD ...
【技术保护点】
一种内存计算的缓存优化方法,其特征在于,该方法包括:构造DAG步骤:在Spark的源程序代码中插入监听代码,以样本数据作为输入预先执行应用程序,对应用程序进行动态语义分析,获取所有RDD函数操作的输入RDD?ID、操作类型、输出RDD?ID,根据获取的信息构造DAG;筛选RDD步骤:遍历上述DAG,计算各顶点的出度,筛选出出度大于1的顶点对应的RDD并建立RDD集合S,该集合S中的RDD为需要缓存至内存中的RDD;Action执行顺序调整步骤:调整上述RDD集合S中所有RDD的Action执行顺序,以优化需要缓存至内存的RDD数据计算的访问顺序;RDD权重计算步骤:计算所述RDD集合S中所有RDD的权重;RDD替换步骤:当输入真正的作业数据执行应用程序时,根据优化的RDD数据计算的访问顺序,依次将RDD缓存至内存,若内存已满,根据内存替换算法决定从内存中被替换出的RDD;RDD处理步骤:根据多级缓存算法确定被替换出的RDD是直接丢弃还是存储至磁盘。
【技术特征摘要】
1.一种内存计算的缓存优化方法,其特征在于,该方法包括: 构造DAG步骤:在Spark的源程序代码中插入监听代码,以样本数据作为输入预先执行应用程序,对应用程序进行动态语义分析,获取所有RDD函数操作的输入RDD ID、操作类型、输出RDD ID,根据获取的信息构造DAG ; 筛选RDD步骤:遍历上述DAG,计算各顶点的出度,筛选出出度大于I的顶点对应的RDD并建立RDD集合S,该集合S中的RDD为需要缓存至内存中的RDD ; Action执行顺序调整步骤:调整上述RDD集合S中所有RDD的Action执行顺序,以优化需要缓存至内存的RDD数据计算的访问顺序; RDD权重计算步骤:计算所述RDD集合S中所有RDD的权重; RDD替换步骤:当输入真正的作业数据执行应用程序时,根据优化的RDD数据计算的访问顺序,依次将RDD缓存至内存,若内存已满,根据内存替换算法决定从内存中被替换出的RDD ; RDD处理步骤:根据多级缓存算法确定被替换出的RDD是直接丢弃还是存储至磁盘。2.如权利要求1所述的内存计算的缓存优化方法,其特征在于,在所述构造DAG步骤中,将输入RDD ID和输出RDD ID作为顶点,输入RDD和输出RDD进行的函数操作的操作类型为边,构造DAG。3.如权利要求1所述的内存计算的缓存优化方法,其特征在于,在所述Action执行顺序调整步骤中,是根据贪心算法调整集合S中所有RDD的Action执行顺序,包括以下步骤: a)查找所述RDD集合S中的所有RDD的Action,合并有依赖关系的Action为一个新Action,合并后的多个新Action与无依赖关系的Action共同形成一个Action集合A ; b)创建空集合R和空序列S’; c)从Action集合A中任意选取一个ActionAi,将AiW入序列S的末尾,将Ai对应的RDD加入到集合R ; d)迭代执行步骤C,直至集合A中的元素为空,则序列S’即为调整的Action执行顺序,其中,迭代执行从集合A中选取Action Ai时,选取的依据是所选取的Ai对应的RDD与集合R的交集最大。4.如权利要求1所述的内存计算的缓存优化方法,其特征在于,在所述权重计算步骤中,RDD权重的计算公式为: 5.如权利要求4所述的内存计算的缓存优化方法,其特征在于,所述RDD的大小根据动态采样法进行计算: 采样:取作业数据中的一定大小的数据作为样本数据; 计算对象大小:将样本数据作为输入,执行应用程序,计算执行过程中的对象大小,所述对象包括各类型变量; 汇总:汇总RDD的所有对象的大小即为RDD的大小。6.如权利要求5所述的内存计算的缓存优化方法,其特征在于,通过以下步骤计算对象大小: a)定义所有基础类型变量的大小,...
【专利技术属性】
技术研发人员:陈康,艾智远,冯琳,周佳祥,
申请(专利权)人:深圳清华大学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。