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

Azkaban 提供了 REST API 接口,请说明其工作机制,并描述通过该 API 提交任务的具体流程或步骤。

数据安全意识技术原理问题排查Azkaban

考察说明

考查对 Azkaban REST API 的整体理解,包括认证、接口调用、任务提交流程及安全注意事项。

回答思路

  1. 【回答框架 1】Azkaban REST API 是基于 HTTP 的接口,用于与 Azkaban 服务器交互,执行如创建项目、上传调度文件、执行流等操作。其核心工作流程包括认证和资源操作。
  2. 【回答框架 2】认证方面,REST API 需要用户先通过登录接口获取会话 ID(session.id)。一般先调用 /?action=login 接口,传入用户名和密码,成功后返回一个 session.id,后续的 API 请求都需要携带该凭证,通常作为请求参数传递。
  3. 【回答框架 3】提交任务前,需要先创建项目并上传调度文件。创建项目通过调用 /manager?action=createProject 完成,然后通过上传接口(如 /manager?action=upload)上传包含工作流定义的 zip 文件,这些文件通常是 .job 和 .flow 格式。
  4. 【回答框架 4】上传成功后,可以触发调度执行。通常调用 /executor?action=executeFlow 接口,并指定项目名和流名称,可附带参数。执行后返回执行 ID,可通过该 ID 查询执行状态或取消流。
  5. 【回答框架 5】此外,API 还支持更丰富的操作,如查询执行日志(/executor?action=fetchExecLog)、查看运行中的流(/executor?action=getRunningFlows)等。使用 REST API 时需注意传输安全,建议使用 HTTPS,并妥善保管 session.id,避免泄露。
  6. 【关键点 1】通过登录接口获取 session.id 进行认证。
  7. 【关键点 2】核心流程是登录、创建项目、上传调度文件、执行流、查询状态。
  8. 【关键点 3】任务提交涉及项目创建与文件上传,再触发执行。
  9. 【关键点 4】API 操作遵循 Azkaban 的权限模型,需关注安全与凭证管理。
  10. 【易错点 1】session.id 具有时效性且泄露风险高,不能硬编码在代码中。
  11. 【易错点 2】上传的调度文件格式错误会导致任务无法执行。
  12. 【易错点 3】未设置超时和重试可能导致调用失败或重复提交。