Azkaban Flow 2.0 使用简介
本文上接《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#
例子源码
https://github.com/remainsu/azkaban_job
Azkaban Flow 2.0 使用简介的更多相关文章
- Azkaban学习之路(四)—— Azkaban Flow 2.0的使用
一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用Flow 2.0,因为Flow 1.0会在将 ...
- 分布式任务调度框架 Azkaban —— Flow 2.0 的使用
一.Flow 2.0 简介 1.1 Flow 2.0 的产生 Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用 Flow 2.0,因为 Flow 1.0 ...
- Azkaban学习之路(三)—— Azkaban Flow 1.0 的使用
一.简介 Azkaban主要通过界面上传配置文件来进行任务的调度.它有两个重要的概念: Job: 你需要执行的调度任务: Flow:一个获取多个Job及它们之间的依赖关系所组成的图表叫做Flow. 目 ...
- 分布式任务调度框架 Azkaban —— Flow 1.0 的使用
一.简介 Azkaban 主要通过界面上传配置文件来进行任务的调度.它有两个重要的概念: Job: 你需要执行的调度任务: Flow:一个获取多个 Job 及它们之间的依赖关系所组成的图表叫做 Flo ...
- Azkaban Condition Flow (条件工作流) 使用简介
本文上接<Azkaban Flow 2.0 使用简介>,对Azkaban Condition Flow (条件工作流) 做简单介绍 目录 目录 条件工作流 介绍 作用 使用方式 支持的运算 ...
- Azkaban 2.5.0 搭建
一.前言 最近试着参照官方文档搭建 Azkaban,发现文档很多地方有坑,所以在此记录一下. 二.环境及软件 安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: ...
- Azkaban 2.5.0 搭建和一些小问题
安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: /usr/local/ae/ankaban JDK 安装目录: export JAVA_HOME=/usr/ ...
- Spring Web Flow 2.0 入门
转载: https://www.ibm.com/developerworks/cn/education/java/j-spring-webflow/index.html 开始之前 关于本教程 本教程通 ...
- Python 3.0(一) 简介
Python 3.0(一) 简介 [目录] 1.简介 2.python特点 3.安装 简介: Python是可以称得上即简单又功能强大的少有的语言中的一种.你将会惊喜地发现,专注于问题的解决方案而不是 ...
随机推荐
- springboot 使用日志
spring boot 默认使用日志打印到console 添加application.properties文件在src/main/resoures文件夹下 logging.file=my.log 将日 ...
- WPF - 模板查看工具:Show Me The Template及如何查看第三方主题
原文:WPF - 模板查看工具:Show Me The Template及如何查看第三方主题 在学习WPF的模板(DataTemplate.ItemsPanelTemplate.ControlTemp ...
- MyBatis 模板
mybatis-config.xml: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE co ...
- WPF 打印不显示的元素
<Window x:Class="_097打印不显示的元素.MainWindow" xmlns="http://schemas.microsoft.c ...
- WAMP采用别名时ThinkPHP5项目设置方法
打开public目录下的.htaccess文件,并在其中添加 RewriteBase /xxx<IfModule mod_rewrite.c> Options +FollowSymlink ...
- PHP 实现自动加载器(Autoloader)
我们知道PHP可以实现自动加载,避免了繁重的体力活,代码更规范,整洁.那如果我们把这个自动加载再升华一下,变成自动加载类,每次只需要引入这个类,那么其他类就自动加载了,已经开源,仓库地址在这里.同时如 ...
- 深入理解Amazon Alexa Skill(一)
语音助手(Virtual Personal Assistants, VPA)是物联网智能家居中很火的一个领域,用户可以通过语言作为入口来控制家里各种各样的设备,而亚马逊的Alexa(echo,echo ...
- Windows 10开发基础——启动默认应用的URI
主要内容:通过指定的URI来启动默认的应用(设置,应用商店,地图,人脉) 方法一:直接在XAML中添加如下代码 <TextBlock x:Name="LocationDisabledM ...
- 什么是DirectShow?
DirectShow是微软出的用于流媒体开发的开发包.开发语言是C++,没提供C#接口的调用方式.
- C#有哪几种定时器
1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers.Timer类里 System.Windows.For ...