一种数据感知的Spark配置参数自动优化方法与流程

文档序号:11154402阅读:来源:国知局

技术特征:

1.一种数据感知的Spark配置参数自动优化方法,其特征在于,包括如下步骤:

收集数据;所述收集数据具体包括:选定Spark应用程序,进一步确定上述应用程序中影响Spark性能的参数,确定上述参数的取值范围;在取值范围内随机生成参数,并生成配置文件配置Spark,配置后运行应用程序并收集数据;所述数据包括但不限于:Spark运行时间、输入数据集、配置参数值;

构建性能模型;将收集的Spark运行时间、输入数据集、配置参数值数据构成横向量,多个向量构成训练集,通过随机森林算法对上述训练集进行建模;

搜索最优配置参数;使用构建好的性能模型,通过遗传算法搜索最优配置参数。

2.如权利要求1所述的数据感知的Spark配置参数自动优化方法,其特征在于,在所述搜索最优配置参数步骤之后还包括一验证步骤,所述验证步骤为将搜索到的最优配置参数进行配置Spark,并运行验证执行时间是否为最短。

3.如权利要求2所述的数据感知的Spark配置参数自动优化方法,其特征在于,在收集数据中所述随机生成参数步骤为:假设参数s取值范围是[a,b],在该取值范围内统一、均匀、随机地取值c,a≦c≦b,则产生一条记录“s/tc”(/t是一个制表符),按照这个方法,生成其他配置参数。

4.如权利要求3所述的数据感知的Spark配置参数自动优化方法,其特征在于,所述通过随机森林算法对上述训练集进行建模具体包括如下步骤:

随机森林算法从给定的训练集通过多次随机的可重复的采样得到多个bootstrap数据集;

对每个bootstrap数据集构造一棵决策树,构造是通过迭代的将数据点分到左右两个子集中实现的,分割过程是一个搜索分割函数的参数空间以寻求最大信息增量意义下最佳参数的过程;

在每个叶节点处通过统计训练集中达到此叶节点的分类标签的直方图经验的估计此叶节点上的类分布;迭代训练过程一直执行到用户设定的最大树深度或者直到不能通过继续分割获取更大的信息增益为止;

在随机森林算法中,执行时间作为因变量,输入集和配置参数作为自变量,还需要确定ntree和mtry值,ntree值是随机森林中建立的决策树数量,mtry值是决策树在每一个分裂节点处样本预测器的个数。

5.如权利要求4所述的数据感知的Spark配置参数自动优化方法,其特征在于,所述通过遗传算法搜索最优配置参数具体为:

把一组向量{c1,…,cm}设为初始配置参数值输入性能模型,模型输出执行时间t1,再变化初始值,输入性能模型,模型输出执行时间t2,t2与t1做比较,时间较短所对应的配置参数作为最优配置,再重复以上步骤,直至找到执行时间最短的配置。

6.如权利要求4所述的数据感知的Spark配置参数自动优化方法,其特征在于,所述随机森林算法具体如下所示:

输入:训练集S,引导函数F,整数ntree(bootstrap样本数)

for i=1 to ntree{

S’=从S中抽取bootstrap样本(独立同分布样本,有放回抽取)

Ci=F(S’)

}

<mrow> <mi>C</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mi>arg</mi> <mrow> <mi>y</mi> <mo>&Element;</mo> <mi>Y</mi> </mrow> </munder> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>e</mi> <mi>e</mi> </mrow> </munderover> <mi>C</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>/</mo> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>e</mi> <mi>e</mi> </mrow>

输出:聚合C*。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1