# 第6章 作业流程调度

在开发完每一个画像标签对应的脚本后,需要将该脚本提上调度流,每天定时作业刷昨天产生的新标签。

在开发迭代的过程中,开发初期会使用crontab命令调度开发任务定时执行,
但随着调度任务规模的增加,使用Kettle、Airflow这样的工具替代crontab做定时调度会提高集群工作效率。

一方面可以帮助厘清任务之间的依赖关系,另一方面当调度出现异常时可快速定位出现问题的位置。

# 6.1 crontab命令调度

# 6.2 Airflow工作平台

Airflow是Airbnb内部发起的一个工作流管理平台,如图6-2所示。
使用Python编写实现的任务管理、调度、监控工作流平台。

Airflow的调度依赖于crontab命令,与crontab相比,Airflow可以方便地查看任务的执行状况(执行是否成功、执行时间、执行依赖等),
可追踪任务历史执行情况,任务执行失败时可以收到邮件通知、查看错误日志。
对于管理调度任务有很大的帮助。

6.2.1 基础概念
6.2.2 Airflow服务构成
6.2.3 Airflow安装
6.2.4 主要模块功能
6.2.5 工作流调度
6.2.6 脚本实例
6.2.7 常用命令行
6.2.8 工程化调度方案

# 6.3 数据监控预警

6.3.1 标签监控预警
6.3.2 服务层预警

# 6.4 ETL异常排查

# 6.5 本章小结