计划优化方法、装置、系统及计算机可读存储介质制造方法及图纸

技术编号:21714377 阅读:20 留言:0更新日期:2019-07-27 19:12
本发明专利技术提供了一种计划优化方法、装置、系统及计算机可读存储介质,涉及大数据技术领域,该方法包括:根据预设的计划查询节点对本地计划的状态进行查询;当查询到准备执行本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行本地计划;其中,自适应优化规则为基于可配置的数据处理门限和计划执行过程中的元数据对计划进行重新分区的规则;基于自适应优化规则,采集本地计划在各分区执行过程中的元数据,根据采集到的元数据和数据处理门限对本地计划的执行分区进行优化。本发明专利技术可以实现对计划的动态调整,改善各分区处理数据倾斜的问题,从而提高集群资源利用率和SQL的运行性能。

Planning optimization methods, devices, systems and computer-readable storage media

【技术实现步骤摘要】
计划优化方法、装置、系统及计算机可读存储介质
本专利技术涉及大数据
,尤其是涉及一种计划优化方法、装置、系统及计算机可读存储介质。
技术介绍
在现有的大数据生态环境中,Spark(计算引擎)是使用最为广泛的计算组件,但是在超大规模集群和数据集上,SparkSQL(SparkStructuredQueryLanguage,计算引擎结构化查询语言)仍然存在很多问题,比如:无法提前合理的分配分区个数,SQL任务的执行计划确定后不可改变,以及SQL任务在执行过程中,某一个分区可能存在数据倾斜问题。目前还不能较好的解决以上问题,导致集群资源利用率、SQL任务的运行性能较差。
技术实现思路
本专利技术的目的在于提供计划优化方法、装置、系统及计算机可读存储介质,以实现对计划的动态调整,改善各分区处理数据倾斜的问题,从而提高集群资源利用率和SQL的运行性能。本专利技术提供的计划优化方法,包括:根据预设的计划查询节点对本地计划的状态进行查询;当查询到准备执行所述本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划;其中,所述自适应优化规则为基于可配置的数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则;基于所述自适应优化规则,采集所述本地计划在各分区执行过程中的元数据,根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化。进一步的,所述根据预设的计划查询节点对本地计划的状态进行查询的步骤,包括:根据本地计划,创建数据聚合过程中查询节点的输入和spark广播的输入;基于所述查询节点的输入编写状态查询节点,基于所述spark广播的输入编写状态广播节点;根据所述状态查询节点对所述本地计划的状态进行查询,并将查询到的状态通过所述状态广播节点进行广播。进一步的,所述基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划的步骤,包括:判断所述本地计划中预设的分区参数是否为启用自适应状态;如果是,按照自适应优化规则在分区中执行所述本地计划。进一步的,所述判断所述本地计划中预设的分区参数是否为启用自适应状态的步骤,包括:当判断所述本地计划中预设的分区参数为默认状态时,按照原生spark优化规则在分区中执行所述本地计划;其中,所述原生spark优化规则为基于不可配置的已有数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则。进一步的,所述数据处理门限包括数据处理条数门限和数据处理空间门限,所述方法包括:根据预先定义的数据条数的配置参数配置各分区的所述数据处理条数门限;根据预先定义的数据空间的配置参数配置各分区的所述数据处理空间门限。进一步的,所述根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化的步骤,包括:判断采集到的所述元数据是否达到所属分区的所述数据处理条数门限和所述数据处理空间门限中的至少一项;如果是,根据所述元数据以及各分区的所述数据处理条数门限和所述数据处理空间门限对所述本地计划的执行分区进行优化。本专利技术提供的计划优化装置,包括:查询模块,用于根据预设的计划查询节点对本地计划的状态进行查询;规则确定模块,用于当当查询到准备执行所述本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划;其中,所述自适应优化规则为基于可配置的数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则;计划优化模块,用于基于所述自适应优化规则,采集所述本地计划在各分区执行过程中的元数据,根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化。进一步的,所述查询模块用于:根据本地计划,创建数据聚合过程中查询节点的输入和spark广播的输入;基于所述查询节点的输入编写状态查询节点,基于所述spark广播的输入编写状态广播节点;根据所述状态查询节点对所述本地计划的状态进行查询,并将查询到的状态通过所述状态广播节点进行广播。本专利技术提供的一种计划优化系统,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如上任一项所述的方法。本专利技术提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上任一项所述的方法的步骤。本专利技术提供的一种计划优化方法、装置、系统及计算机可读存储介质,该方法包括:首先根据预设的计划查询节点对本地计划的状态进行查询;当查询到准备执行所述本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划;然后基于所述自适应优化规则,采集所述本地计划在各分区执行过程中的元数据,根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化。本专利技术通过计划查询节点查询本地计划的状态,并根据本地计划的状态、自动设置分区参数和自适应优化规则可以实现对计划的动态调整,有效改善了各分区处理数据倾斜的问题,从而提高集群资源利用率和SQL的运行性能。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种计划优化方法流程图;图2为本专利技术实施例提供的一种本地计划的状态查询方法流程图;图3为本专利技术实施例提供的一种自适应架构示意图;图4为本专利技术实施例提供的一种计划优化装置的结构框图。具体实施方式下面将结合实施例对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。考虑到现有SparkSQL存在的分区不合理、执行计划不可变和数据倾斜,并由此导致集群资源利用率、SQL任务的运行性能较差等问题,专利技术实施例提供的一种计划优化方法、装置、系统及计算机可读存储介质,可以合理分区、实现对计划的动态调整,有效改善数据倾斜的问题,从而提高集群资源利用率和SQL的运行性能。为便于对本实施例进行理解,首先对本专利技术实施例所公开的一种计划优化方法进行详细介绍。实施例一:参照图1所示的一种计划优化方法流程图,该方法是一种基于大数据查询的计划优化方法,可包括如下步骤:步骤S102,根据预设的计划查询节点对本地计划的状态进行查询。在本实施例中,为了实现sparksql的自适应功能,可以预先对有向无环图中的逻辑节点(stage)进行编辑,以得到计划查询节点。该计划查询节点用于存储和执行对本地计划的状态查询功能(PlanQueryStage);具体的,计划查询节点对sparksql的优化器生成的本地计划进行状态查询,该状态诸如是否准备执行,并当查询到本地计划的状态为准备执行时,将本地计划和准备执行的状态广播至sparksql的执行器中。步骤S104,当查询到准备执行本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行本地计划;其中,自适应优化规则为基于可配置的数据处理门限和计划执行过本文档来自技高网...

【技术保护点】
1.一种计划优化方法,其特征在于,包括:根据预设的计划查询节点对本地计划的状态进行查询;当查询到准备执行所述本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划;其中,所述自适应优化规则为基于可配置的数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则;基于所述自适应优化规则,采集所述本地计划在各分区执行过程中的元数据,根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化。

【技术特征摘要】
1.一种计划优化方法,其特征在于,包括:根据预设的计划查询节点对本地计划的状态进行查询;当查询到准备执行所述本地计划时,基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划;其中,所述自适应优化规则为基于可配置的数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则;基于所述自适应优化规则,采集所述本地计划在各分区执行过程中的元数据,根据采集到的所述元数据和数据处理门限对所述本地计划的执行分区进行优化。2.根据权利要求1所述的方法,其特征在于,所述根据预设的计划查询节点对本地计划的状态进行查询的步骤,包括:根据本地计划,创建数据聚合过程中查询节点的输入和spark广播的输入;基于所述查询节点的输入编写状态查询节点,基于所述spark广播的输入编写状态广播节点;根据所述状态查询节点对所述本地计划的状态进行查询,并将查询到的状态通过所述状态广播节点进行广播。3.根据权利要求1所述的方法,其特征在于,所述基于本地计划中预设的分区参数确定按照自适应优化规则在分区中执行所述本地计划的步骤,包括:判断所述本地计划中预设的分区参数是否为启用自适应状态;如果是,按照自适应优化规则在分区中执行所述本地计划。4.根据权利要求3所述的方法,其特征在于,所述判断所述本地计划中预设的分区参数是否为启用自适应状态的步骤,包括:当判断所述本地计划中预设的分区参数为默认状态时,按照原生spark优化规则在分区中执行所述本地计划;其中,所述原生spark优化规则为基于不可配置的已有数据处理门限和计划执行过程中产生的元数据而对计划进行重新分区的规则。5.根据权利要求1所述的方法,其特征在于,所述数据处理门限包括数据处理条数门限和数据处理空间门限,所述方法包括:根据预先定义的数据条数的配置参数配置各分区的所述数据处理条...

【专利技术属性】
技术研发人员:张永飞侯良伟杨尧王诗强
申请(专利权)人:成都四方伟业软件股份有限公司
类型:发明
国别省市:四川,51

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

1