数据岗位面试题更新 2026-08-05

在 Azkaban 中,如果某个任务运行时间过长,系统是如何处理的?请说明任务超时时间的配置方法。

数据风险判断技术原理Azkaban

考察说明

考察对 Azkaban 任务超时处理机制和配置方法的理解。

回答思路

  1. 【回答框架 1】Azkaban 中任务超时有两种类型:执行超时(execution timeout)和流量超时(flow timeout)。执行超时指单个作业运行超过设定时间会被 kill,流量超时指整个工作流超过设定时间会终止。
  2. 【回答框架 2】配置超时时间可以通过在 Job 文件中设置属性,如 'execution.timeout' 或 'flow.timeout',单位为分钟。也可以在 Azkaban 的 Web UI 中为项目或流程设置默认超时。
  3. 【回答框架 3】当任务超时被触发时,Azkaban 会执行相应的处理动作,如 kill 掉任务,并可能在日志中标记为超时。配置时需注意超时时间应大于任务正常执行时间,避免误杀。
  4. 【回答框架 4】此外,Azkaban 还支持设置失败重试和告警,超时后可以配合通知机制及时反馈。
  5. 【关键点 1】Azkaban 支持执行超时和流量超时两种超时类型。
  6. 【关键点 2】超时时间可通过 Job 文件中的 execution.timeout 或 flow.timeout 属性配置。
  7. 【关键点 3】超时处理动作是终止任务,并产生相应日志。
  8. 【易错点 1】超时时间设置过短可能导致正常任务被误杀。
  9. 【易错点 2】不同版本 Azkaban 超时配置可能略有差异,需参考对应文档。