azkaban(五):复杂的依赖关系

2021-07-30  本文已影响0人  万事万物

准备有依赖关系的flow文件

nodes:
  - name: javaTestJob
    type: javaprocess
    dependsOn:
      - jobA
    config:
      java.class: com.atguigu.hive.functions.HelloWorld

  - name: jobC
    type: command
    # jobC 依赖 JobA和JobB
    dependsOn:
      - jobA
      - jobB
    config:
      command: echo "I’m JobC"

  - name: jobA
    type: command
    config:
      command: echo "I’m JobA"

  - name: jobB
    type: command
    config:
      command: echo "I’m JobB"
  - name: jobE
    type: command
    # jobC 依赖 JobA和JobB
    dependsOn:
      - jobA
    config:
      command: echo "I’m JobE"

  - name: jobF
    type: command
    dependsOn:
      - jobB
    config:
      command: echo "I’m JobF"

  - name: jobG
    type: command
    dependsOn:
      - javaTestJob
    config:
      command: echo "I’m JobG"
  - name: jobH
    type: command
    # jobC 依赖 JobA和JobB
    dependsOn:
      - jobG
    config:
      command: echo "I’m JobH"

  - name: jobM
    type: command
    dependsOn:
      - jobH
    config:
      command: echo "I’m JobM"

  - name: jobI
    type: command
    dependsOn:
      - jobM
    config:
      command: echo "I’m JobI"

简单的介绍一下


  - name: jobC
    type: command
    # jobC 依赖 JobA和JobB
    dependsOn:
      - jobA
      - jobB
    config:
      command: echo "I’m JobC"

jobC依赖于jobAjobB,那么jobC需要等待jobAjobB运行完毕之后,才能执行。需要加上dependsOn,以数组的形式配置。

依赖关系

依赖关系图

运行

运行结果

绿色:表示依旧运行完成
蓝色:运行中
灰色:等待运行

F5刷新页面则都运行完毕

运行结果

指定运行

对于带来依赖关系的可以指定运行某一个。
例如:运行jobC


禁用全部

选中jobC->右键->点击Disable->Disable All

效果如下:

image.png

启用jobC

选择jobC->右键点击Enable 即可。

image.png

即使 jobC 依赖于jobAjobB 这样做之后,依赖关系将自动解除

运行:
点击 Execute

jobC运行结果

Enable 为例,用jobG节点来演示

同理:Enable 亦是如此,就不演示了。

上一篇 下一篇

猜你喜欢

热点阅读