为了统计azkaban任务调度的情况,需要分析azkaban的数据库,于是调研了一下内部数据库的情况。
我这边使用3.38.0版本,数据存在mysql当中,本次调研了其中四张表
- projects
desc projects;
这张表记录着我们创建的project,name就是我们指定的名字拼接上日期和尾缀。
注意就叫作id,实际是project_id
- project_flows
desc project_flows;
这里的preject_id就是projects中的id
flow_id就是我们在页面中看到的flows
- execution_flows
desc execution_flows;
根据flow_id可以找到它执行的情况,比如起止时间、结果是成功还是失败。
其中status表示状态:20为Preparing、30为Running、50为Success、60为Killed、70为Failed
- execution_jobs
desc execution_jobs;
对于job类型的去这张表用job_id模糊匹配即可。