87 lines
7.3 KiB
Markdown
87 lines
7.3 KiB
Markdown
# Учебник по 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
|