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

2021-06-13  本文已影响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: jobA
    type: command
    config:
      command: echo "jobA 123"
  - name: jobB
    type: command
    config:
      command: echo "jobB 123"
  - name: jobC
    type: command
    config:
      command: echo "jobC 123"
  - name: jobD
    type: command
    config:
      command: echo "jobD 123 AA BB CC"
    dependsOn:
      - jobA
      - jobB
      - jobC
    condition: all_success

3、打成zip包

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

猜你喜欢

热点阅读