【技术实现步骤摘要】
一种用于检测大数据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任务调度循环依赖的方法,其特征在于,所述有向无环图实例的哈希映射结构包括:数据结构一、存储有向无环图的所有顶点,其中...
【专利技术属性】
技术研发人员:韩雷,
申请(专利权)人:云筑信息科技成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。