1.基于内存计算框架Spark的性能优化和参数配置方法,其特征在于,包括以下步骤:Spark资源调度包括:Driver与Cluster Manager通信,进行资源申请、任务分配和监控;Cluster Manager负责申请和管理在Worker Node上运行应用程序所需的资源;
Executor负责运行任务;
收集日志历史数据,其中历史数据包括:作业执行时间、配置参数值、输入数据集大小和作业使用的内存资源;
将收集的执行时间、输入数据集大小、配置参数值和作业使用的内存资源构成多维度的训练集,通过LightGBM算法对所述训练集构建参数优化模型;
使用建立好的参数优化模型,通过贝叶斯优化算法搜索模型最优配置超参数。
2.根据权利要求1所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述Driver与Cluster Manager通信是通过Driver运行Spark Applicaion的main()函数,创建SparkContext,SparkContext负责和Cluster Manager通信,进行资源申请、任务分配和监控。
3.根据权利要求2所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述SparkContext构建DAG图,将DAG图分解成多个Stage,包括以下步骤:(1)应用程序通过对Spark API的调用,进行一系列RDD转换构建出RDD之间的依赖关系后,调用DAGScheduler的runJob方法将RDD及其血缘关系中的所有RDD传递给DAGSchududer进行调度;
(2)DAGScheduler的runJob方法实际通过调用DAGScheduler的submitJob方法向DAGSchedulerEventProcessLoop发送JobSubmitted事件,DAGSchedulerEventProcessLoop接收到JobSubmitted事件后,将JobSubmitted事件放入事件队列;
(3)DAGSchedulerEventProcessLoop内部的轮询线程eventThread不断从事件队列中获取DAGSchedulerEvent事件,并调用DAGSchedulerEventProcessLoop的doOnReceive方法对事件进行处理;
(4)DAGSchedulerEventProcessLoop的doOnReceive方法处理JobSubmitted事件时,调用DAGScheduler的handleJobSubmitted方法,handleJobSubmitted方法对RDD构建Stage及Stage之间的依赖关系;
(5)DAGScheduler首先把最上游的Stage中的Task集合提交给TaskScheduler,然后逐步将下游的Stage中的Task集合提交给TaskScheduler,TaskScheduler对Task集合进行调度。
4.根据权利要求1所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述收集日志历史数据包括以下步骤:从内存计算平台Spark官方给出的参数中找出运行不同应用程序时影响Spark性能的主要参数;
采用稀疏采样确定主要参数在不同的应用程序中的取值范围;
选择应用程序的输入集;
针对不同应用程序确定相对应的主要参数,配置SparkConf,运行不同所述输入集,收集到的数据作为训练集;
根据运行不同训练集,将主要参数针对不同类型任务进行分类;
根据同一类型的应用程序,提交相同类型任务,收集到的数据作为验证集。
5.根据权利要求4所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述稀疏采样生成参数具体采用如下方式:设参数t的取值范围为[a,b],取样范围在参数取值范围中尽可能均匀,然后再进行间隔更小的搜索最终选取参数。
6.根据权利要求1所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述LightGBM算法对所述训练集构建参数优化模型,具体包括如下步骤:把连续的浮点特征值离散化成k个整数,同时构造一个宽度为k的直方图;
遍历数据的时候,根据离散化的值作为索引在直方图中累积统计量,当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点;
采用leaf-wise生长策略,每次从当前所有叶子中找到分裂增益最大的一个叶子,然后分裂,如此循环;
在LightGBM算法中,执行时间作为因变量,输入数据集和配置参数作为自变量,还需要learning_rate、max_depth和num_leaves值,learning_rate为学习率,max_depth为树模型深度,num_leaves为叶子节点数。
7.根据权利要求1所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:所述贝叶斯优化算法搜索模型最优配置超参数具体包括以下步骤:获得m个点作为初始化点,且它们服从多变量高斯分布,最大化收获函数求得下一个采样点x0,采用目标函数位于x0的y值,不断迭代,直到选择出(x,y)是否满足目标值;如果模型利用上一轮选出的最大AC值的点的集合,不断重复迭代,选出满足目标值最终的输出(x,y)。
8.根据权利要求1-7任一项所述基于内存计算框架Spark的性能优化和参数配置方法,其特征在于:在所述搜索模型最优配置超参数之后还包括一验证步骤:将搜索到的最优模型超参数采用LightGBM算法进行验证,通过LightGBM算法的模型回归,选择出配置参数的最优组合进行配置Spark,并运行不同类型的应用程序验证执行时间是否为最短。