【技术实现步骤摘要】
一种将DAG图数据转换为工作流引擎调度文件的方法
本申请属于大数据分析
,具体涉及一种将DAG图数据转换为工作流引擎调度文件的方法。
技术介绍
随着信息技术的发展,数据挖掘、机器学习、人工智能、统计分析等技术在数据分析领域获得广泛应用。与此同时为应对海量数据处理任务,出现了多种分布式计算框架,如hadoopyarn、mesos、kubernetes等。大数据分析处理任务大都包含多个数据处理步骤,每个步骤的数据处理算法需提交计算框架运行,其中有些步骤可以并发执行,有些步骤需要有依赖关系。为将这种复杂的任务调度到分布式技术框架运行,出现了很多的工作流调度引擎。但这些工作流调度引擎都通过自定义调度文件的形式编排任务运行流程。调度文件一般复杂难写,而且调度文件千差万别,要切换调度引擎需要修改大量内容。与此同时,很多机器学习平台出现了通过拖拽即可构建机器学习模型的方法,大大简化了建模过程。这些模型大都基于DAG图。要将DAG图模型提交分布式技术框架运行,需要将DAG图转换成满足工作流引擎调度文件规定格式,而目前工作流引擎形式各异,所对应的调度文件也是格式各异,这给DAG图的转换带来的极大的难度。
技术实现思路
本申请的目的在于提供一种将DAG图数据转换为工作流引擎调度文件的方法,实现将各种格式的DAG图数据转换为多类型的工作流引擎调度文件,降低DAG图数据的转换难度,提高工作流引擎切换效率。为实现上述目的,本申请所采取的技术方案为:一种将DAG图数据转换为工作流引擎调度 ...
【技术保护点】
1.一种将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述将DAG图数据转换为工作流引擎调度文件的方法,包括:/n步骤S1、获取待转换的DAG图数据,识别DAG图数据的文件类型;/n步骤S2、根据所述文件类型解析DAG图数据,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;/n步骤S3、根据工作流引擎定义执行引擎节点类信息的格式,根据定义的格式将所获取的节点类实例转换为执行引擎节点类实例,并根据节点之间的连线以及连线方向的类实例生成执行引擎节点的输入输出信息和前后依赖节点信息;/n步骤S4、根据执行引擎节点的前后依赖节点信息,对执行引擎节点类实例进行有序编排;/n步骤S5、根据工作流引擎所需调度文件的格式以及文件类型,将有序编排的执行引擎节点类实例以及前后依赖节点信息按照调度文件的格式持久化至文件中,输出与工作流引擎所需的文件类型对应的工作流引擎调度文件。/n
【技术特征摘要】
1.一种将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述将DAG图数据转换为工作流引擎调度文件的方法,包括:
步骤S1、获取待转换的DAG图数据,识别DAG图数据的文件类型;
步骤S2、根据所述文件类型解析DAG图数据,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;
步骤S3、根据工作流引擎定义执行引擎节点类信息的格式,根据定义的格式将所获取的节点类实例转换为执行引擎节点类实例,并根据节点之间的连线以及连线方向的类实例生成执行引擎节点的输入输出信息和前后依赖节点信息;
步骤S4、根据执行引擎节点的前后依赖节点信息,对执行引擎节点类实例进行有序编排;
步骤S5、根据工作流引擎所需调度文件的格式以及文件类型,将有序编排的执行引擎节点类实例以及前后依赖节点信息按照调度文件的格式持久化至文件中,输出与工作流引擎所需的文件类型对应的工作流引擎调度文件。
2.如权利要求1所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述工作流引擎包括oozie工作流引擎、azkaban工作流引擎,所述oozie工作流引擎对应的调度文件为oozieworkflow.xml,所述azkaban工作流引擎的调度文件为azkabanflow。
3.如权利要求2所述的将DAG图数据转换为工作流引擎调度文件的方法,其特征在于,所述DAG图数据转换为oozie工作流引擎的调度文件oozieworkflow.xml的过程包括:
a、获取待转换的DAG图数据;
b、继承预定义的节点以及连接线的抽象类,根据oozie的workflow.xml中action节点及其属性信息,获取DAG图数据中的节点及其属性信息生成节点类实例,同时获取节点之间的连线以及连线方向的类实例;
c、继承实现预定义的节点转换接口中的方法,将解析DAG图数据获取的节点类实例,转换成oozie工作流引擎中action节点对应的节点属性,同时按照DAG图数据中任务节点端口三级规则组成输出地址,加入节点属性,同时根据DAG图数据中节点的连接关系,生成节点输入地址以及各节点的前后节点属性信息;
d、继承实现预定义的任务编排接口中的方法,在出度大于1的地方插入oozie工作流引擎的fork-join控制节点达到并发执行,之后插入start、end、fail控制节点,得到任务信息;
e、继承实现接口及抽象类的预定义的文件输出方法,实现写workflow.xml文件功能,按照文件中的布局信息,将任务信息输出到文件的<workflow>中,之后将节点类的属性信息输出到文件...
【专利技术属性】
技术研发人员:郑焕波,华洁,刘钊岐,李少利,赵政康,张惠根,
申请(专利权)人:中电海康集团有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。