本解决方案基于azkaban 3.84.4版本,我们操作azkaban的时候需要经历
1、创建工程
2、编写flow配置(生成flow文件,打成zip包)
3、上传zip包到azkaban
4、执行azkaban
整个一套下来,很复杂,很容易配置错误,本解决方案基于此应运而生,本解决方案优点如下
1、基于SSM架构,基于springboot实现,可用接口调用
2、azkaban的复杂的依赖配置可以变成简单的参数传递,自动生成flow和上传flow,省去了中间复杂的配置过程,开箱即用
3、接口直接执行azkaban,无需人工登录azkaban触发执行
4、核心代码可以直接复用,用于对azkaban有定制需求的开发者
其他优点会不断更新
功能演示如下,只需要把spring项目启动,调用接口http://127.0.0.1:8081/azkaban/create
下面解释下参数如何传递
flowName 用户需要创建的azkaban flow的名称
projectName:用户需要创建azkaban的项目的名称
projectDesc:用户需要创建azkaban的项目的描述
azkabanJobList:一个list对象,为了构建azkaban job执行的树结构
jobName:azkaban job名称
execJobCommond:需要执行的shell命令
edgeList :用于构建job执行依赖
上面配置对应生成azkaban,上述接口参数定义了1个test_project为名称的azkaban项目,flow名称为example_flowName,定义了2个job,每个job执行shell语句代表了每个对象,edgeMap传递了依赖关系,
"edgeList":[
"name1->name2"
]
代表了name1先执行 然后在执行name2 ,其中的name1和name2对应azkabanJobList中的jobName名称,必须一一对应
执行结果如下
如果需要执行3个job,参数如下
生成的图如下
代码
链接:https://pan.baidu.com/s/1PdAgLEnxpNDbkz9er_9Cyg
提取码:xkmc
--来自百度网盘超级会员V4的分享
如果连接失效请私信我,重新发