# Учебник по Apache Airflow для начинающих Учебник знакомит с Apache Airflow 2.9: устройством DAG, запуском задач, интерфейсом и поиском ошибок. К нему прилагается Docker-стенд с готовыми примерами. Перед началом нужны Python, pandas, SQL и основы Docker. ## Что вы узнаете - **Основы Airflow**: что это такое, для каких задач используется и почему он стал таким популярным - **Ключевые концепции**: DAG, задачи, операторы и другие фундаментальные понятия - **Архитектура**: как устроен Airflow внутри и как это влияет на вашу работу - **Интерфейс**: как эффективно использовать веб-интерфейс для мониторинга и управления - **Практическое создание DAG**: пошаговое руководство по созданию ваших первых рабочих процессов - **Отладка и мониторинг**: как понимать статусы задач и быстро находить проблемы - **Продвинутые возможности**: шаблоны, параметры, управление временем, пулы, XCom, TaskGroup и алертинг ## Содержание курса ### [01. Введение в Airflow](01%20-%20Введение%20в%20Airflow.md) - Почему Apache Airflow стал незаменимым инструментом для работы с данными - Преимущества использования Airflow - Когда Airflow может не подойти - Практическое применение Airflow - Как компании развертывают Airflow ### [02. Понятное введение в ключевые понятия Airflow](02%20-%20Понятное%20введение%20в%20ключевые%20понятия%20Airflow.md) - Основные концепции и терминология - Что такое DAG и как он работает - Операторы, задачи и зависимости ### [03. Как устроен Airflow внутри](03%20-%20Как%20устроен%20Airflow%20внутри.md) - Архитектура Airflow - Компоненты системы - Как работает планировщик и исполнитель ### [04. Знакомство с интерфейсом Airflow для начинающих](04%20-%20Знакомство%20с%20интерфейсом%20Airflow%20для%20начинающих.md) - Навигация по веб-интерфейсу - Основные разделы и их назначение - Как мониторить и управлять DAG ### [05. Основы построения DAG-файлов в Airflow](05%20-%20Основы%20построения%20DAG-файлов%20в%20Airflow.md) - Структура DAG-файла - Создание ваших первых задач - Настройка расписаний и параметров ### [06. Статусы задач в Airflow](06%20-%20Статусы%20задач%20в%20Airflow.md) - Что означают цвета и статусы задач - Жизненный цикл задачи - Как отлаживать проблемы и работать с ошибками ### [07. Шаблоны, переменные и подключения в Airflow](07%20-%20Шаблоны,%20переменные%20и%20подключения%20в%20Airflow.md) - Использование Jinja-шаблонов - Параметризация DAG - Глобальные переменные и подключения ### [08. Управление временем в Airflow](08%20-%20Управление%20временем.md) - Расписания и интервалы запуска - Работа с временными зонами - Понимание execution_date и других временных концепций ### [09. Пулы, XCom, TaskGroup и алертинг в Airflow](09%20-%20Пулы,%20XCom,%20TaskGroup%20и%20алертинг%20в%20Airflow.md) - Управление ресурсами с помощью пулов задач - Обмен данными между задачами через XCom - Логическая группировка задач с TaskGroup - Настройка системы оповещений и уведомлений ## Практический стенд В [`airflow-docker`](airflow-docker/) находятся Airflow 2.9.2, учебная PostgreSQL и девять готовых DAG. [Инструкция запуска](airflow-docker/README.md) поможет поднять стенд, а [маршрут практики](educational-tasks.md) связывает восемь блоков заданий с главами учебника. Здесь вы запускаете готовый DAG, меняете одну часть и проверяете результат в графе, логах или данных. Самостоятельные процессы обработки данных относятся к курсовым работам дальше по [программе](https://de.dementev.space/). ## Как использовать этот учебник 1. Прочитайте главы 1-5 и запустите стенд. Перед каждым блоком практики сверяйтесь с колонкой "Перед практикой": некоторые задания используют материал следующих глав. 2. Выполняйте основные задания блока по порядку и сохраняйте изменения. Каждый новый блок описывает, с какого состояния начать. 3. Проверяйте раздел "Что должно получиться". В опыте с ошибкой результатом может быть `failed`; важно найти причину и восстановить успешный запуск. 4. Задания "По желанию" можно пропустить. Они не нужны для продолжения основного маршрута, а высокая сложность отмечена отдельно. Практика завершена, когда пройдены основные задания всех восьми блоков и вы можете объяснить наблюдаемое поведение. Выполнение всех усложнений для этого не требуется. ## Технические требования - **Python и pandas**: чтение функций, работа с таблицами - **SQL**: понимание основных запросов и концепций - **Airflow**: версия 2.9 (на которой ориентирован курс) - **Docker и Docker Compose**: запуск учебного стенда - **Среда разработки**: любой текстовый редактор или IDE с поддержкой Python