当前位置: 代码迷 >> 综合 >> 黑猴子的家:Azkaban3.84.4之条件工作流一,预定义宏案例
  详细解决方案

黑猴子的家:Azkaban3.84.4之条件工作流一,预定义宏案例

热度:104   发布时间:2023-09-14 21:44:42.0

条件工作流功能允许用户自定义执行条件来决定是否运行某些Job。
条件可以由当前Job的父 Job 输出的运行时参数构成,也可以使用预定义宏。
在这些条件下,用户可以在确定 Job执行逻辑时获得更大的灵活性,例如,只要父 Job 之一成功,就可以运行当前 Job。

Azkaban 中预置了几个特殊的判断条件,称为预定义宏。
预定义宏会根据所有父 Job 的完成情况进行判断,再决定是否执行。可用的预定义宏如下:
(1)all_success: 表示父 Job 全部成功才执行(默认)
(2)all_done:表示父 Job 全部完成才执行
(3)all_failed:表示父 Job 全部失败才执行
(4)one_success:表示父 Job 至少一个成功才执行
(5)one_failed:表示父 Job 至少一个失败才执行

1、base.project

[alex@hadoop102 azkaban]$ vim jobs/base.project
azkaban-flow-version: 2.0

2、base.flow

[alex@hadoop102 azkaban]$ vim jobs/base.flow
nodes:- name: jobAtype: commandconfig:command: echo "jobA 123"- name: jobBtype: commandconfig:command: echo "jobB 123"- name: jobCtype: commandconfig:command: echo "jobC 123"- name: jobDtype: commandconfig:command: echo "jobD 123 AA BB CC"dependsOn:- jobA- jobB- jobCcondition: all_success

3、打成zip包

[alex@hadoop102 jobs]$ zip base.zip base.flow base.project adding: base.flow (deflated 65%)adding: base.project (stored 0%)