美文网首页
008.Azkaban-3.x 创建Flow

008.Azkaban-3.x 创建Flow

作者: CoderJed | 来源:发表于2019-09-30 10:18 被阅读0次

    1. Flow 2.0 基础

    使用Azkaban Flow 2.0 来创建任务流,Flow 1.0 将被废弃

    • 创建一个名为flow20.project的文本文件,添加如下内容用以说明这是一个Azkaban Flow 2.0的项目:
    azkaban-flow-version: 2.0
    
    • 创建一个名为basic.flow的文本文件,其中定义了一个project中所有需要运行的job,使用nametype来定义一个job,大部分job都会需要config这个配置,详细的内容在下文中说明,这里只是一个简单的示例:
    nodes:
      - name: jobA
        type: command
        config:
          command: echo "This is an echoed text."
    
    • 选择上面创建好的两个文件,然后将其压缩为一个名为Archive.zip的zip文件,注意,是把两个文件压缩为一个文件,Linux中的操作如下:
    [hadoop@beh07 tmp]$ mkdir zip-test
    [hadoop@beh07 tmp]$ mv flow20.project basic.flow zip-test/
    [hadoop@beh07 tmp]$ cd zip-test/
    # 将目录下的所有文件打成一个zip包
    [hadoop@beh07 zip-test]$ zip -r Archive.zip .
    
    # 错误操作
    # 这是把zip-test这个目录打成一个zip包
    [hadoop@beh07 tmp]$ zip -r Archive.zip zip-test
    

    2. Job Dependencies

    使用dependsOn标签配置Job之间的依赖,以下示例中,在jobA和jobB成功运行之后,jobC将开始运行。

    nodes:
      - 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
    

    3. Job Config

    Azkaban支持很多类型的Job,在type标签中指定即可,在config标签下使用key: value形式可以加入更多的配置。以下配置中,设置了要执行的pig脚本的位置,这个脚本需要和flow20.project以及basic.flow这两个文件一起打成zip包并上传到Project。

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

    4. Flow Config

    Flow级别的配置也使用config标签,但是它与node标签同级。Flow级别的配置将会作用于所有的Job。

    ---
    config:
      user.to.proxy: foo
      failure.emails: noreply@foo.com
    
    nodes:
      - name: jobA
        type: command
        config:
          command: echo "This is an echoed text."
    

    5. 多级Flow

    你可以在Flow中添加其他子Flow,而不仅是添加Job。

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

    相关文章

      网友评论

          本文标题:008.Azkaban-3.x 创建Flow

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