一种用于检测大数据ETL任务调度循环依赖的方法技术

技术编号:37157507 阅读:27 留言:0更新日期:2023-04-06 22:20
本发明专利技术公开了一种用于检测大数据ETL任务调度循环依赖的方法,包括从MySQL数据库读取ETL任务及配置数据;基于哈希映射结构,构造有向无环图实例;采用Json解析,对所述ETL任务进行解析并写入有向无环图实例中;采用循环检测算法,检测有向无环图实例中的ETL任务是否存在循环依赖;输出存在循环依赖的ETL任务。本发明专利技术通过读取数据库内所需ETL任务、解析并写入有向无环图中,采用循环检测算法快速分析出有向无环图中具有循环依赖的ETL任务,操作简单迅速,大大降低由于循环依赖任务的存在而导致数据不能及时产生的风险。数据不能及时产生的风险。数据不能及时产生的风险。

【技术实现步骤摘要】
一种用于检测大数据ETL任务调度循环依赖的方法


[0001]本专利技术属于大数据
,具体涉及一种用于检测大数据ETL任务调度循环依赖的方法。

技术介绍

[0002]在大数据领域的数据仓库建设过程中需要大量的ETL任务,数据仓库的ODS、DWD、DWS、ADS等数据层的任务,其依赖关系层层递进。企业的实际实施中,存在不同的业务部门,不同的业务部门的数据集市也按照数据分层进行建设,也存在跨部门的数据依赖。往往存在A部门依赖B部门的数据,B部门也依赖A部门的数据,如此在ETL过程中,随着任务越来越多,数据清洗任务之间的关系更加错综复杂。在大数据开源系统中,例如开源的调度系统DolphinScheduler,就存在因为任务之间循环依赖导致整个数据仓库数据不能及时产生,进而对业务产生巨大损失,成为所属
技术人员亟待解决的技术问题。
[0003]因此,本专利技术提供了一种用于检测大数据ETL任务调度循环依赖的方法,以至少解决上述部分技术问题。

技术实现思路

[0004]本专利技术要解决的技术问题是:提供一种用于检测大数据本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于检测大数据ETL任务调度循环依赖的方法,其特征在于,包括以下步骤:步骤1、从MySQL数据库读取ETL任务及配置数据;步骤2、基于哈希映射结构,构造有向无环图实例;步骤3、采用Json解析,对所述ETL任务进行解析并写入有向无环图实例中;步骤4、采用循环检测算法,检测有向无环图实例中的ETL任务是否存在循环依赖;步骤5、输出存在循环依赖的ETL任务。2.根据权利要求1所述的一种用于检测大数据ETL任务调度循环依赖的方法,其特征在于,所述ETL任务包括依赖任务和任务执行任务。3.根据权利要求2所述的一种用于检测大数据ETL任务调度循环依赖的方法,其特征在于,在所述步骤3中,对所述ETL任务进行解析包括:步骤31、判断所述ETL任务是否为依赖任务;步骤32、所述ETL任务是依赖任务,判断其是否与包含所述ETL任务的工作流内的其他任务为全部依赖;所述ETL任务不是依赖任务,获取所述ETL任务的前置任务及属性;步骤33、所述依赖任务是全部依赖,根据过程定义ID获取工作流内的其他任务;所述依赖任务不是全部依赖,获取与所述ETL任务依赖的依赖性任务;步骤34、创建前置任务列表,将所述前置任务及属性、依赖性任务、以及为全部依赖的其他任务添加到前置任务列表中。4.根据权利要求3所述的一种用于检测大数据ETL任务调度循环依赖的方法,其特征在于,在所述步骤3中,解析的ETL任务写入有向无环图实例中包括:调用有向无环图实例的添加边方法,将所述ETL任务及其前置任务、以及所述ETL任务与前置任务的关系写入有向无环图实例中。5.根据权利要求1所述的一种用于检测大数据ETL任务调度循环依赖的方法,其特征在于,所述有向无环图实例的哈希映射结构包括:数据结构一、存储有向无环图的所有顶点,其中...

【专利技术属性】
技术研发人员:韩雷
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

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

1