当前位置: 代码迷 >> 综合 >> 黑猴子的家:Azkaban3.84.4之工作流二,运行时参数案例
  详细解决方案

黑猴子的家:Azkaban3.84.4之工作流二,运行时参数案例

热度:81   发布时间:2023-09-14 21:43:36.0

1、基本原理

1)父 Job 将参数写入 JOB_OUTPUT_PROP_FILE 环境变量所指向的文件
2)子 Job 使用 ${jobName:param}来获取父 Job 输出的参数并定义执行条件

2、支持的条件运算符

1)== 等于
2)!= 不等于
3)> 大于
4)>= 大于等于
5)< 小于
6)<= 小于等于
7)&& 与
8)|| 或
9)! 非

3、base.project

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

4、base.flow

[alex@hadoop102 azkaban]$ vim jobs/base.flow
nodes:- name: jobAtype: commandconfig:command: sh a.sh- name: jobBtype: commandconfig:command: sh b.sh- name: jobCtype: commandconfig:command: sh c.sh- name: jobDtype: commandconfig:command: echo "jobD 123 DD BB DD BB"dependsOn:- jobA- jobB- jobCcondition: ${jobA:aaa}=="AAA" && ${jobB:bbb}=="BBB" && ${jobC:ccc}=="CCC"
condition: ${jobA:aaa}=="AAA" && all_success

5、a.sh

#!/bin/bash
echo '{"aaa":"AAA"}' > $JOB_OUTPUT_PROP_FILE

6、b.sh

#!/bin/bash
echo '{"bbb":"BBB"}' > $JOB_OUTPUT_PROP_FILE

7、c.sh

#!/bin/bash
echo '{"ccc":"CCC"}' > $JOB_OUTPUT_PROP_FILE

8、打成zip包

[alex@hadoop102 jobs]$ zip base.zip base.project base.flow a.sh b.sh c.sh adding: base.project (stored 0%)adding: base.flow (deflated 62%)adding: a.sh (stored 0%)adding: b.sh (stored 0%)adding: c.sh (stored 0%)