azkaban調度之flow文件

拒絕抄襲,從我做起,可以借鑑,必有說明

今天學習azkaban的condition判斷

新建一個.flow文件我是condition.flow

nodes:
 - name: JobA
   type: command
   config:
     command: bash /home/devuser/chenchi/azkaban.sh

 - name: JobB
   type: command
   dependsOn:
     - JobA
   config: 
     command: echo "This is JobB."
     param1: "AAA"
   condition: ${JobA:param1} == "AAA"

 - name: JobC
   type: command
   dependsOn:
     - JobA
   config:
     command: echo "This is JobC."
   condition: ${JobA:param1} == "BBB"

 - name: JobD
   type: command
   dependsOn:
     - JobB
     - JobC
   config:
     command: echo "This is JobD."
   condition: one_success

在建一個.project文件我是condition.project文件,備註我是azkaban3.81版本

azkaban-flow-version: 2.0

服務器上

[devuser@node04 ~/chenchi]$ cat azkaban.sh
echo '{"param1":"AAA"}' > $JOB_OUTPUT_PROP_FILE
[devuser@node04 ~/chenchi]$

這裏我說明下 $JOB_OUTPUT_PROP_FILE 這個不要改成xx.txt這種。。。。

condition.flow 裏的jobB和C的condition裏獲取的${jobA:param1}就是這裏的json值

把兩個文件達成zip包

上傳到azkaban後執行

還有一種說是嵌入式https://my.oschina.net/remainsu/blog/3072763

1、新建一個xx.flow和一個xx.project

2、打包zip上傳

3、exec

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."

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章