在 Airflow 中,Operator 扮演什么角色?请列举并简要说明几种常见 Operator 的用途。
考察说明
考查对 Airflow 核心概念 Operator 的理解及对常用内置 Operator 的掌握程度。
回答思路
- 【回答框架 1】Operator 是 Airflow DAG 中定义单个任务执行逻辑的模板类,一个任务(Task)在实例化 Operator 时产生,通过 DAG 调度执行,其核心属性包括 task_id 和所属 DAG。
- 【回答框架 2】常用 Operator 分为几类:执行 Bash 命令的 BashOperator,调用 Python 可调用对象的 PythonOperator,发送邮件的 EmailOperator,以及用于时间调度的 SimpleHttpOperator 等。
- 【回答框架 3】针对数据场景,还有 SQL 执行类如 MySqlOperator、PostgresOperator,文件传输类如 SFTPOperator,以及触发性任务如 TriggerDagRunOperator。
- 【回答框架 4】不同 Operator 通过参数控制执行细节,例如 BashOperator 的 bash_command、PythonOperator 的 python_callable,且均可设置重试、超时等通用参数。
- 【回答框架 5】选择 Operator 应遵循任务本质,避免滥用泛化,比如数据加载优先使用专有 Hook 或 Operator 而非通用命令。
- 【关键点 1】Operator 是任务执行逻辑的模板,实例化后成为 DAG 中的 Task。
- 【关键点 2】常见运算符包括 Bash、Python、Email、HTTP、SQL 及文件传输类。
- 【关键点 3】每个 Operator 有特定参数,并支持通用任务控制参数。
- 【关键点 4】选型应贴合任务类型,利用专有 Hook 提升效率。