【技术实现步骤摘要】
资源分配方法、装置以及电子设备
本申请涉及大数据业务
,尤其涉及资源分配领域。
技术介绍
随着互联网技术持续的发展与应用,产生了海量的数据与各式各样的数据计算引擎。数据计算引擎是用来对数据做计算的组件。为了提取海量数据中有价值的数据,需要开发大量的数据ETL(抽取、转换以及加载,Extract-Transform-Load)业务,并且按照一定的周期,在线运行这些ETL业务。其中,ETL用来描述将数据从数据源经过抽取(extract)、转换(transform)、加载(load)至目的数据源的过程。Spark作为目前流行的大数据解决方案,有着众多优良特性。在Spark中包括数据计算引擎。现有的Spark业务普遍采用的资源分配方案,在启动ETL业务的命令中可以配置用于运行业务的资源量,这部分资源量的配置就是业务的资源预分配方案。然而,如果定义一个相对宽松的资源预分配方案,并对所有的ETL业务使用这个资源预分配方案,那么对于业务量小的ETL业务,会出现资源过剩,造成集群资源利用率低的情况。对于业务量大的ETL业务,会出现资源不足,造成业务运行性能低、耗时长的情况。所以,现有的资源分配方案都无法分配适当的资源量来运行ETL业务。
技术实现思路
本申请提供了资源分配的方法、装置、电子设备及存储介质。第一方面,本申请实施例提供一种资源分配方法,包括:根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到目标业务在当前周期的资源量,目标业务与上游业务具有数据依 ...
【技术保护点】
1.一种资源分配方法,其特征在于,包括:/n根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到所述目标业务在当前周期的资源量,所述目标业务与所述上游业务具有数据依赖关系;/n在所述当前周期内利用所述资源量运行所述目标业务,并监测所述目标业务在各执行器中的运行数据的变化;/n根据所述目标业务在各执行器中的运行数据的变化,实时调整所述目标业务的资源量和/或所述目标业务在各所述执行器的数据分布。/n
【技术特征摘要】
1.一种资源分配方法,其特征在于,包括:
根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到所述目标业务在当前周期的资源量,所述目标业务与所述上游业务具有数据依赖关系;
在所述当前周期内利用所述资源量运行所述目标业务,并监测所述目标业务在各执行器中的运行数据的变化;
根据所述目标业务在各执行器中的运行数据的变化,实时调整所述目标业务的资源量和/或所述目标业务在各所述执行器的数据分布。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述目标业务运行完成的情况下,记录所述目标业务在当前周期的运行数据。
3.根据权利要求1所述的方法,其特征在于,根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到所述目标业务在当前周期的资源量,包括:
在未查找到所述目标业务在历史周期的运行数据的情况下,确定所述目标业务是新业务,得到第一资源量;
所述第一资源量包括:预先设置的所述执行器的数量、所述执行器的核数和单个所述执行器的内存量。
4.根据权利要求1所述的方法,其特征在于,根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到所述目标业务在当前周期的资源量,包括:
在根据所述目标业务在历史周期的运行数据确定所述目标业务的业务逻辑发生更新的情况下,得到第一资源量;
所述第一资源量包括:预先设置的所述执行器的数量、所述执行器的核数和单个所述执行器的内存量。
5.根据权利要求4所述的方法,其特征在于,根据所述目标业务在历史周期的运行数据确定所述目标业务的业务逻辑发生更新,包括:
根据所述目标业务在当前周期的业务配置文件,计算第一文件检验和;
将所述目标业务在历史周期的运行数据中的文件检验和,作为第二文件检验和;
在所述第一文件检验和与所述第二文件检验和不相同的情况下,确定所述业务逻辑发生更新。
6.根据权利要求1所述的方法,其特征在于,根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,得到所述目标业务在当前周期的资源量,包括:
根据所述目标业务的生产数据依赖关系确定所述上游业务;
所述上游业务在当前周期的运行数据和所述上游业务在历史周期的运行数据的差异大于第一阈值的情况下,得到第一资源量;
所述第一资源量包括:预先设置的所述执行器的数量、所述执行器的核数和单个所述执行器的内存量。
7.根据权利要求6所述的方法,其特征在于,还包括:
在所述差异小于所述第一阈值的情况下,得到第二资源量。
8.根据权利要求7所述的方法,其特征在于,所述第二资源量的计算方式包括:
从所述目标业务在历史周期的运行数据中提取所述目标业务在多个周期的运行数据,所述目标业务在每个周期的运行数据包括业务运行时间、所述执行器的数量、最大并行任务数、最大内存使用量和最大数据量行数;
根据所述目标业务在多个周期的业务平均运行时间、所述执行器的平均数量、最大并行任务数的平均值和最大数据量行数的平均值,得到所述执行器的数量;
根据所述目标业务在多个周期的最大内存使用量的平均值和所述执行器的数量,计算单个所述执行器的内存量;
所述第二资源量包括:所述执行器的数量、所述执行器的核数、单个所述执行器的内存量;
其中,所述执行器的核数是预先设置的。
9.根据权利要求1所述的方法,其特征在于,根据所述目标业务在各执行器中的运行数据的变化,实时调整所述目标业务的资源量和/或所述目标业务在各所述执行器的数据分布,包括:
所述目标业务在当前周期的运行数据中,各所述各执行器的总内存利用率超过第二阈值的情况下,增加运行所述目标业务的资源量。
10.根据权利要求1所述的方法,其特征在于,根据所述目标业务在各执行器中的运行数据的变化,实时调整所述目标业务的资源量和/或所述目标业务在各所述执行器的数据分布,包括:
所述目标业务在当前周期的运行数据中,在至少一个所述执行器的实时数据量与实时总数据量的比值超过第三阈值的情况下,对各个所述执行器执行的任务数据重新分配。
11.一种资源分配装置,其特征在于,包括:
资源量配置模块,用于根据目标业务在历史周期的运行数据和上游业务在当前周期的运行数据,...
【专利技术属性】
技术研发人员:邱峰志,李辉,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。