Files
airflow-manual/README.md
T

87 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Учебник по 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