一种基于随机森林的图数据处理框架自动调优方法技术

技术编号:33641053 阅读:19 留言:0更新日期:2022-06-02 20:16
本发明专利技术公开了一种基于随机森林的图数据处理框架自动调优方法。该方法包括:构建训练数据集,该训练数据集的每条样本数据表征图数据处理框架的配置参数组合、输入数据集大小与程序运行时间之间的对应关系;基于所述训练数据集训练包含多棵决策树的随机森林模型,并将经训练的随机森林模型作为性能预测模型,用于对不同参数配置组合结合输入数据集大小预测对应的程序运行时间;在配置参数的搜索空间中,利用所述性能预测模型针对不同输入数据集大小,预测由遗传算法产生的不同配置参数的性能高低,进而获得最优配置参数。利用本发明专利技术能够感知输入数据集大小,实现深层次、高性能的配置参数自动优化。配置参数自动优化。配置参数自动优化。

【技术实现步骤摘要】
一种基于随机森林的图数据处理框架自动调优方法


[0001]本专利技术涉及大数据处理
,更具体地,涉及一种基于随机森林的图数据处理框架自动调优方法。

技术介绍

[0002]随着互联网产业和技术的发展,在大数据领域,图形数据处理的规模与重要性也日益增长。以Spark GraphX框架为例,其是使用分布式数据流系统在Apache Spark上构建的嵌入式图形处理框架。Spark GraphX提供了一个熟悉的可配置图形抽象,足以表示现有的图形结构,并且可以使用一些基本的数据流运算符来实现(例如连接、映射和分组)。同时,SparkGraphX借助分布式连接优化和物化视图维护来重建特定的图形优化,并利用分布式数据流框架,提供了低成本的图形处理容错能力。
[0003]Spark GraphX的性能主要受配置参数的影响,不合理的配置会严重降低框架性能。Spark官方推荐了一套默认配置参数,然而在实际的图形数据处理任务中,默认配置参数无法根据计算资源以及工作负载的变化进行相应的适配,这导致Spark GraphX的性能受到限制,同时浪费了大量计算资源。Spark GraphX具有大量配置参数,且不同参数间存在相互影响,所以人工调参难度大、成本高,因而Spark GraphX配置参数的自动调优方法具有重大研究意义。
[0004]现有的Spark GraphX框架优化方法仅针对图并行抽象和稀疏图结构强加的限制实现了一系列系统优化,优化对象主要包括图特性和图系统,在传统数据库系统的经典技术基础上,进行了索引、增量视图维护和连接的优化,以及Spark中标准数据流操作符的优化,实现了与专用图处理系统的性能对等。然而现有的Spark GraphX优化方法只是对图数据本身特性的优化和Spark GraphX系统内部实现优化,而未考虑运行时的配置参数和输入数据集的大小对Spark GraphX的性能影响,优化效果较差;并且,现有Spark GraphX优化方法所使用的机器学习算法性能不佳,并且不能够适用于当前Spark GraphX调参优化场景。

技术实现思路

[0005]本专利技术的目的是克服上述现有技术的缺陷,提供一种基于随机森林的图数据处理框架自动调优方法,可应用于Spark GraphX等图处理框架的配置参数优化。
[0006]本专利技术的技术方案是提供一种基于随机森林的图数据处理框架自动调优方法,该方法包括以下步骤:
[0007]构建训练数据集,该训练数据集的每条样本数据表征图数据处理框架的配置参数组合、输入数据集大小与程序运行时间之间的对应关系;
[0008]基于所述训练数据集训练包含多棵决策树的随机森林模型,其中每个决策树的训练集通过对所述训练数据集进行引导聚焦生成,将经训练的随机森林模型作为性能预测模型,用于对不同参数配置组合结合输入数据集大小预测对应的程序运行时间;
[0009]在配置参数的搜索空间中,利用所述性能预测模型针对不同输入数据集大小,预
测由遗传算法产生的不同配置参数的性能高低,进而获得最优配置参数。
[0010]与现有技术相比,本专利技术的优点在于,在异构机器集群中,以图处理框架的配置参数为优化对象,实现了自动调参优化,能够自动感知数据集大小,最终找到运行程序的最佳配置。本专利技术针对图处理框架调参优化的特点,选取随机森林算法(RF)并结合遗传算法(GA)对输入数据集规模自动感知,实现了深入且高效的调参优化。
[0011]通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。
附图说明
[0012]被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。
[0013]图1是根据本专利技术一个实施例的基于随机森林的图数据处理框架自动调优方法的流程图;
[0014]图2是根据本专利技术一个实施例的基于随机森林的图数据处理框架自动调优方法的过程示意;
[0015]图3是现有技术与本专利技术一个实施例的效果对比图;
[0016]图4是根据本专利技术一个实施例对Spark GraphX程序加速运行的优化效果图。
具体实施方式
[0017]现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。
[0018]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。
[0019]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0020]在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0021]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0022]本专利技术能够应用于多种类型的大数据处理框架,例如,Spark GraphX、PowerGraph和TinkerPop等。为便于理解,本文将以Spark GraphX框架为例进行说明。
[0023]结合图1和图2所示,所提供的基于随机森林的图数据处理框架自动调优方法包括以下步骤:
[0024]步骤S110,构建训练数据集,其中每条样本数据表征图数据处理框架的配置参数组合、输入数据集大小与程序运行时间之间的对应关系。
[0025]该步骤是数据收集部分,包含一个参数生成器,为每次Spark GraphX程序运行待优化程序自动生成参数,在每次运行结束后自动收集程序运行时间,与对应所使用的配置参数与数据集大小结合得到一条样本数据,在多次运行Spark GraphX程序后,最终得到一
个样本集合,或称训练数据集。
[0026]具体地,参数生成器(Conf Generator)首先选择出显著影响Spark GraphX性能的参数;接下来,根据选择出来的参数自动为待优化程序的运行自动生成并分配参数;然后,使用若干组自动生成的参数自动运行待优化程序,在每次程序运行结束后,收集运行时SparkGraphX程序所使用的配置参数及输入数据集大小,与Spark GraphX程序运行时间结合,作为训练数据集中的一条样本数据。如此,在多次运行后会得到由多条样本数据组成的训练数据集。
[0027]步骤S120,利用训练数据集训练包含多棵决策树的随机森林模型,作为性能预测模型。
[0028]该步骤利用数据收集阶段产生的训练数据集基于机器学习算法进行建模,目的在于搭建一个性能预测模型,能够反映不同配置参数和不同输入数据集大小对程序执行性能的影响。
[0029]优选地,采用随机森林算法进行建模,根据以下步骤获得性能预测模型:
[0030]步骤S121,从训练数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于随机森林的图数据处理框架自动调优方法,包括以下步骤:构建训练数据集,该训练数据集的每条样本数据表征图数据处理框架的配置参数组合、输入数据集大小与程序运行时间之间的对应关系;基于所述训练数据集训练包含多棵决策树的随机森林模型,其中每个决策树的训练集通过对所述训练数据集进行引导聚焦生成,将经训练的随机森林模型作为性能预测模型,用于对不同参数配置组合结合输入数据集大小预测对应的程序运行时间;在配置参数的搜索空间中,利用所述性能预测模型针对不同输入数据集大小,预测由遗传算法产生的不同配置参数的性能高低,进而获得最优配置参数。2.根据权利要求1所述的方法,其中,基于所述训练数据集训练包含多棵决策树的随机森林模型包括:从所述训练数据集中使用引导聚集算法,取出m个样本,共进行n
tree
次采样,并根据这些采样生成n
tree
个训练集,n
tree
对应所述随机森林模型包含的决策树数量;利用所述训练集训练n
tree
棵决策树,其中对于单个决策树,先从该节点的属性结合中随机选择一个包含k个图数据处理框架属性的子集,然后每次分裂时根据信息增益或基尼指数从子集中选择最优属性进行分裂,进而生成多棵决策树组成随机森林模型。3.根据权利要求1所述的方法,其中,所述性能预测模型的输出结果由多棵决策树的分类投票决定或由多棵决策树预测值的均值决定。4.根据权利要求1所述的方法,其中,在配置参数的搜索...

【专利技术属性】
技术研发人员:陈超辛锦瀚杨永魁王峥喻之斌郭伟钰刘江佾
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:

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

1