请解释 Azkaban 中 Job 的概念,并说明 Job 在调度工作流中所起的作用。
考察说明
考查对 Azkaban 基本概念的理解,包括 Job 的定义和工作流中的角色。
回答思路
- 【回答框架 1】Job 是 Azkaban 中可执行的最小工作单元,代表一个具体的任务,如运行 shell 脚本、Spark 作业、Hive 查询等。每个 Job 都有唯一的名称和类型,通过配置文件(.job)定义其属性和依赖。
- 【回答框架 2】在工作流中,Job 通过依赖关系(dependencies)相互连接,形成有向无环图。Azkaban 按照依赖顺序调度执行,只有所有前置 Job 成功后才能执行后续 Job。
- 【回答框架 3】Job 的配置包含命令、参数、调度选项等,Azkaban 根据配置注入运行环境并监控执行状态。成功或失败会触发后续操作,如重试、告警或终止。
- 【关键点 1】Job 是执行的最小单元,对应具体任务。
- 【关键点 2】Job 通过依赖关系组成工作流,形成 DAG。
- 【关键点 3】Job 配置定义执行细节,Azkaban 按调度器跑 Job。