Об этом проекте
Apache Airflow — это платформа, предназначенная для создания, планирования и мониторинга рабочих процессов. Благодаря определению рабочих процессов в виде кода (направленных ациклических графов или DAG), они становятся более поддерживаемыми, версионируемыми и тестируемыми. Платформа включает в себя планировщик, который выполняет задачи на воркерах на основе заданных зависимостей, богатый интерфейс командной строки для управления DAG и пользовательский интерфейс для визуализации конвейеров и поиска неисправностей.
Ключевые возможности включают:
- Динамическая генерация конвейеров: рабочие процессы определяются на Python, что позволяет осуществлять их динамическую генерацию и параметризацию.
- Расширяемость: предоставляет широкий спектр встроенных операторов и поддерживает пользовательские расширения.
- Гибкость: интегрирует движок шаблонов Jinja для глубокой настройки.
- Широкие сценарии использования: хотя в основном используется для конвейеров данных, он также применяется для оркестрации рабочих процессов машинного обучения (обучение, оценка, развертывание) и нагрузок на базе AI/LLM.
- Интерфейс мониторинга: включает комплексный интерфейс, содержащий обзоры DAG, графы зависимостей активов, сеточные и графические представления запусков, а также инструменты backfilling.
Airflow разработан для статических или медленно меняющихся рабочих процессов и делает упор на идемпотентные задачи. Это не решение для стриминга, но оно может обрабатывать данные реального времени пакетами. Он поддерживает различные базы данных, включая PostgreSQL, MySQL и SQLite (для разработки), и может быть развернут через PyPI, Docker-образы или Helm Charts.