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

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

作者: 黑猴子的家 | 来源:发表于2021-06-15 06:12 被阅读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: jobA
    type: command
    config:
      command: sh a.sh
  - name: jobB
    type: command
    config:
      command: sh b.sh
  - name: jobC
    type: command
    config:
      command: sh c.sh
  - name: jobD
    type: command
    config:
      command: echo "jobD 123 DD BB DD BB"
    dependsOn:
      - jobA
      - jobB
      - jobC
    condition: ${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%)

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/eibksltx.html