Azkaban流2.0

作用

Azkarban流用来协调一堆脚本工作的.

入门用法

首先创建一个后缀project的文件,表明这是一个2.0版本的流.

azkaban-flow-version: 2.0

然后创建一个flow后缀的文件,内容如下

一个基本的流最少要包含以下三项类容. name,type,config
配置文件为yaml格式.

yaml格式的配置文件

nodes:
  - name: jobA
    type: command
    config:
      command: echo "This is an echoed text."

如果看不懂yaml格式,对比下json格式

{
   "nodes":[
       {
           "name":"jobA",
           "type":"command",
           "config":{
               "command":"echo \"This is an echoed text.\""
           }
       }
   ]
}

然后把上述两个文件压缩到一起.上传到azkarban,就可以执行了.!

job可以相互依赖

如下

  - name: jobC
    type: noop
    # jobC depends on jobA and jobB
    dependsOn:
      - jobA
      - jobB

  - name: jobA
    type: command
    config:
      command: echo "This is an echoed text."

  - name: jobB
    type: command
    config:
      command: pwd

看json对比下

[
   {
       "name":"jobC",
       "type":"noop",
       "dependsOn":[
           "jobA",
           "jobB"
       ]
   },
   {
       "name":"jobA",
       "type":"command",
       "config":{
           "command":"echo \"This is an echoed text.\""
       }
   },
   {
       "name":"jobB",
       "type":"command",
       "config":{
           "command":"pwd"
       }
   }
]

也可以是其他类型,不一定是shell命令

nodes:
  - name: pigJob
    type: pig
    config:
      pig.script: sql/pig/script.pig

全局配置

共同的内容可以在多个job之间共享.

config:
  user.to.proxy: foo
  failure.emails: noreply@foo.com

nodes:
  - name: jobA
    type: command
    config:
      command: echo "This is an echoed text."

对比json

{
  "config":{
      "user.to.proxy":"foo",
      "failure.emails":"noreply@foo.com"
  },
  "nodes":[
      {
          "name":"jobA",
          "type":"command",
          "config":{
              "command":"echo \"This is an echoed text.\""
          }
      }
  ]
}

可以嵌套

nodes:
 - name: embedded_flow
   type: flow
   config:
     prop: value
   nodes:
     - name: jobB
       type: noop
       dependsOn:
         - jobA

     - name: jobA
       type: command
       config:
         command: pwd

总结

  • 写Azkaban 2.0的flow,要学会yaml配置的写法
  • 理解name,type,config的含义
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值