Operators
An Operator
is conceptually a template for a predefined Task, that you can just define declaratively inside your
DAG:
with DAG("my-dag") as dag:
ping = SimpleHttpOperator(endpoint="http://example.com/update/")
email = EmailOperator(to="admin@example.com", subject="Update complete")
ping >> email
Note
When we talk about a Task, we mean the generic «unit of execution» of a DAG; when we talk about an Operator, we mean a reusable, pre-made Task template whose logic is all done for you and that just needs some arguments.
Core Operators
Airflow has a very extensive set of operators available, with some built-in to the core or pre-installed providers. Some popular operators from core include:
BashOperator
- executes a bash commandPythonOperator
- calls an arbitrary Python functionEmailOperator
- sends an email
For a list of all core operators, see:
Core Operators and Hooks Reference
Provider packages
The capabilities of Apache Airflow can be extended by installing additional packages, called providers
.
Providers can contain operators, hooks, sensor, and transfer operators to communicate with a multitude of external systems, but they can also extend Airflow core with new capabilities.
Some popular operators from here include:
SimpleHttpOperator
MySqlOperator
PostgresOperator
MsSqlOperator
OracleOperator
JdbcOperator
DockerOperator
HiveOperator
S3FileTransformOperator
PrestoToMySqlOperator
SlackAPIOperator
The full list of community managed providers is available at:
You can also see index of all community provider's operators and hooks in: