美文网首页
Azkaban使用

Azkaban使用

作者: Jorvi | 来源:发表于2021-07-26 10:23 被阅读0次
    • 1. 创建 Project
    • 2. Upload Zip包

    Zip包中保存的是 ***.job 文件,每个job文件代表 Project 内的一个Flow,各Flow间可利用 dependencies 配置依赖关系,例如:

    -- start.job
    
    type=noop
    

    注:noop表示一个空操作,啥也不干

    -- merge_1.job
    
    type=command
    command=${SPARK_HOME}/bin/spark-submit --class ***.tools.MergeFileTool --driver-memory 1g --executor-memory 1g --num-executors 1 --executor-cores 1 --master yarn --files /home/tools/merge_file_tool.properties /home/tools/tools-1.0-SNAPSHOT-jar-with-dependencies.jar ${id} ${new("org.joda.time.DateTime").minusDays(1).toString("yyyy-MM-dd")}
    dependencies=start
    
    -- merge_2.job
    
    type=command
    command=${SPARK_HOME}/bin/spark-submit --class ***.tools.MergeFileTool --driver-memory 1g --executor-memory 1g --num-executors 1 --executor-cores 1 --master yarn --files /home/tools/merge_file_tool.properties /home/tools/tools-1.0-SNAPSHOT-jar-with-dependencies.jar ${id} ${new("org.joda.time.DateTime").minusDays(1).toString("yyyy-MM-dd")}
    dependencies=start
    

    注:
    1. ${id} 这种方式可用于传参,在 Flow Parameters 内配置即可
    2. ${new("org.joda.time.DateTime").minusDays(1).toString("yyyy-MM-dd")}这种方式可用于获取执行时间前一天的日期

    -- end.job
    
    type=noop
    dependencies=merge_1,merge_2
    

    注:多个依赖可通过逗号分隔

    注意:job编写在 Linux 环境编写,再利用 zip -qr merge_file_tool.zip merge_file_tool/ 打包,windows环境下编写的包可能报错无法上传。

    • 3. Run Job立即执行,Execute Flow配置定时调度,都可配置 Flow Parameters 传参

    相关文章

      网友评论

          本文标题:Azkaban使用

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