Из чего состоит Airflow
Python
Middle
Без компании
Из чего состоит Airflow
Ответы
Airflow состоит из нескольких ключевых компонентов:
- **Web Server** – Flask-приложение с UI для визуализации DAG, мониторинга задач и управления.
- **Scheduler** – планирует выполнение задач, управляет зависимостями и триггерами.
- **Executor** – определяет, как выполняются задачи (например, `LocalExecutor`, `CeleryExecutor`, `KubernetesExecutor`).
- **Metadata Database** (PostgreSQL, MySQL и др.) – хранит состояние DAG, задач, конфигурацию.
- **Workers** (в распределённых режимах) – выполняют задачи (например, при использовании Celery).
- **DAGs** – Directed Acyclic Graphs, определяют workflow (задачи и их зависимости).
Пример простого DAG:
```
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime
def hello_world():
print("Hello, Airflow!")
dag = DAG(
"example_dag",
start_date=datetime(2023, 1, 1),
schedule_interval="@daily",
)
task = PythonOperator(
task_id="print_hello",
python_callable=hello_world,
dag=dag,
)
```