java job,python job ,bash job ,mapreduce job etc.
apache oozie :重量级的任务调度系统,功能全面,配置复杂,XML文件定义工作流
azkaban :solo server mode / multi server mode
1. 系统配置($AIRFLOW_HOME/airflow.cfg)
2. 作业管理($AIRFLOW_HOME/dags/xxxx.py)
5. 日志查看(webserver 或 $AIRFLOW_HOME/logs/*)
7、支持15+operators,支持自定义operator
DAG : directed acyclic graphs 即有向无环图
可显示 DAG 视图,控制作业的启停,清除作业状态重跑,数据统计,查看日志,管理用户及数据连接等
不运行 webserver 并不影响 airflow 作业的调度。
调度器-schduler
调度器 schduler 负责读取 DAG 文件,计算其调度时间,当满足触发条件时则开启一个执行器的实例来运行相应的作业。
task:
task是operator的一个实例,也就是DAGS中的一个node
Task Relationships:DAGs中的不同Tasks之间可以有依赖关系,如 TaskA >> TaskB,表明TaskB依赖于TaskA。
执行器-Executor
执行器有 SequentialExecutor, LocalExecutor, CeleryExecutor
1. SequentialExecutor 为顺序执行器,默认使用 sqlite 作为知识库,由于 sqlite 数据库的原因,任务之间不支持并发执行