Azkaban使用

  • 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使用)