请列举 Azkaban 支持的 Job 类型,并说明在流(Flow)中如何配置这些不同类型的任务。
考察说明
考查对 Azkaban 任务类型及其配置方法的掌握程度。
回答思路
- 【回答框架 1】Azkaban 的 Job 类型主要包括 command、java、hadoopJava、hadoopShell、spark 等,其中 command 最为基础,直接在配置中指定命令行。
- 【回答框架 2】在工作流中配置不同类型的任务,主要在 .job 文件中设置 type 属性,例如 type=command 对应命令执行,type=java 指定运行 Java 类,type=hadoopJava 用于运行 Hadoop 作业。
- 【回答框架 3】不同类型任务的配置项不同:command 需配置 command 参数;java 需配置 job.class 和 classpath 等;hadoopJava 需指定 job.class、main.class 等;spark 类型则需配置 spark 相关参数如 spark.master 和 spark.submit.deployMode。
- 【回答框架 4】多个 .job 文件通过依赖关系组成 DAG 流,在 .flow 文件中或通过 UI 定义依赖,从而实现工作流的任务编排。
- 【关键点 1】Job 类型由 .job 文件中的 type 属性决定,常见类型有 command、java、hadoopJava、hadoopShell、spark。
- 【关键点 2】配置任务时需为不同 Job 类型提供对应的必需参数,如 command 命令、java 类名、spark 提交参数等。
- 【关键点 3】工作流通过定义 Job 之间的依赖关系构建 DAG,Azkaban 会按依赖顺序调度执行。
- 【易错点 1】注意不同 Job 类型对运行环境的要求不同,例如 java 类型需要配置 classpath 和 main class。
- 【易错点 2】spark 类型在 Azkaban 中的使用可能受版本影响,需正确处理提交方式和资源设置。
- 【易错点 3】若依赖配置不当可能导致 DAG 解析失败或任务无法按预期顺序执行。