Azkaban Flow 2.0 使用简介
创作时间:
作者:
@小白创作中心
Azkaban Flow 2.0 使用简介
引用
1
来源
1.
https://www.cnblogs.com/remainsu/p/azkaban-flow-20-shi-yong-jian-jie.html
本文上接《Azkaban 3.73.1 使用简介》,对Azkaban使用Flow 2.0来创建工作流做简单说明
声明:官方建议使用Flow 2.0来创建Azkaban工作流,且Flow 1.0将被弃用
一、简单的Flow
1. 新建 flow20.project 文件
- 这是一个必须的文件,且文件名固定为:flow20.project
- 文件仅一行内容:azkaban-flow-version: 2.0,其作用为表明这是Azkaban Flow 2.0的项目
touch flow20.project
echo "azkaban-flow-version: 2.0" > flow20.project
2. 新建 .flow 文件
- 这同样是一个必须的文件,且文件固定使用:.flow作为扩展名,如:money.flow、item.flow
.flow文件常用标签
标签 | 备注 |
|---|---|
nodes | 这其中将包含所有要运行的job |
nodes.name | job的名字 |
nodes.type | job类型,如:command、pig |
nodes.config | 以键值对的形式,配置要执行的命令或脚本 |
config | 1. 以键值对的形式,为整个工作流定义参数 2. 定义的参数在整个Flow中均有效 3. 使用时通过 ${param_key} 引用定义好的参数 |
举例:
# 文件名:simple_1.flow
nodes:
- name: jobA
type: command
config:
command: echo "This is an echoed text by simple flow"
3. 打包
压缩上述新建的flow20.project和.flow文件 到同一个.zip文件中
- 必须是zip压缩文件,当前仅支持zip
- 所有文件必须在压缩包的根目录中,没有子目录
4. 创建Project & 上传zip & 运行Flow
具体过程略,可参考前一篇博文《Azkaban 3.73.1 简单使用》第3.3节的内容
备注:与之前不同的是,Flow的名字不再是最后一个没有依赖的job的名字,而是 .flow文件的名字
二、Job间有依赖关系的Flow
新建两个文件:flow20.project和.flow为扩展名的文件
打包zip & 上传zip & 运行
详细过程略,.flow 文件举例:
# 文件名:dependsOn.flow
nodes:
- name: jobC
type: command
config:
command: echo "This is jobC, depends on jobA and jobB"
dependsOn:
- jobA
- jobB
- name: jobA
type: command
config:
command: echo "This is jobA."
- name: jobB
type: command
config:
command: echo "This is jobB."
三、嵌入式Flow(Flow间存在依赖)
新建两个文件:flow20.project和.flow为扩展名的文件
打包zip & 上传zip & 运行
注意:依赖的Flow节点的type必须指定为:flow
详细过程略,.flow 文件举例:
config:
param.test: param_test
nodes:
- name: jobC
type: command
config:
command: echo ${param.test} "This is jobC, embedded on embedded_flow."
dependsOn:
- embedded_flow
- name: embedded_flow
type: flow
config:
param.flow.test: param_flow_test
nodes:
- name: jobB
type: command
config:
command: echo "This is jobB."
dependsOn:
- jobA
- name: jobA
type: command
config:
command: echo ${param.flow.test} "This is jobA."
说明:
config 参数无特殊意义,仅作演示使用,
与之前不同的是,flow间的依赖,所依赖的flow在web页面中的显示是如下图的样子
附录
官方文档
https://azkaban.readthedocs.io/en/latest/createFlows.html#
例子源码
热门推荐
坐拥过半历史文化街区 荔湾何以不负“最广州”?
打破偏见与命运:《哪吒之魔童闹海》的角色新生
公职律师说法丨“翻墙”看世界,别让自由过了界
吃二甲双胍,如何做才能不伤身?记住这五点
早期发现很难,晚期治疗有限:哪些人建议筛查阿尔茨海默病,怎么查?
一口一个,孜然鸡心——烧烤风味的家常演绎
步进电机分哪几种,详解步进电机的分类和特点
甘油三酯高对人体的影响
都江堰问花村景区介绍(门票票价+花期时间+免费政策)
狗狗吃粪便的原因及应对方法
《封神演义》主要角色战斗力排名分析
霹雳布袋戏:传统与创新的完美融合
手脚冰凉、脾胃虚寒来一碗温补的羊肉汤
基础养老金计算公式及领取条件详解
外卖打包盒:选择环保与便利共存的解决方案
中教互联解答插画新手临摹练习推荐:从名画到动漫的进阶之路
国外结婚证书在中国的使用规定
富贵竹养殖环境条件有哪些?如何选择合适的生长环境?
重磅!常州地铁6号线21个站点规划正式公布,预计2029年建成
如何锻炼英语口语表达?实用攻略揭秘
1万块买2克拉真钻戒?培育钻VS天然钻VS莫桑钻,这些区别你知道吗?
生蚝什么人不能吃?女性食用需谨慎
牛肉炖煮技巧:让牛肉软烂入味不塞牙的小妙招
张献忠:从贫苦枣商到农民起义领袖的传奇人生
结婚后的财富累积指南:从理财规划到财富传承
如何了解K线图的趋势?这种了解方法的准确性如何评估?
吨位超055大驱,日本新大驱开建,2艘耗费3700亿,最大1.6万吨
Nature:计算蛋白质设计,AI如何重塑生物学的未来
如何观察一个城市的房产发展趋势?这种观察如何指导购房决策?
一两茯苓一两金,茯苓和它“很般配”,祛湿消脂,大肚腩不见了