美文网首页
azkaban(五):复杂的依赖关系

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

作者: 万事万物 | 来源:发表于2021-07-30 10:28 被阅读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:启用自己
    --Parents:启用父节点
    -- Ancestors: 启用当前节点以上的所有的节点(不包括自己)
    -- Children:启用自己下的子节点
    -- Descendents:启用自己以下的所有子节点
    -- Enable All:启用所有
  • Disable:禁用自己
    --Parents:禁用父节点
    -- Ancestors: 禁用当前节点以上的所有的节点(不包括自己)
    -- Children:禁用自己下的子节点
    -- Descendents:禁用自己以下的所有子节点
    -- Enable All:禁用所有

Enable 为例,用jobG节点来演示

  • Parents


    禁用父子节点
  • Ancestors


    禁用自己以上的依赖
  • Children


    禁用子节点
  • Descendents


    禁用以下所有子节点
  • Enable All


    禁用所有
  • Disable


    禁用当前节点

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

相关文章

网友评论

      本文标题:azkaban(五):复杂的依赖关系

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