107 lines
9.5 KiB
Markdown
107 lines
9.5 KiB
Markdown
# Учебник по Apache Airflow для начинающих
|
|
|
|
Добро пожаловать в учебник по Apache Airflow! Этот курс создан специально для тех, кто уже освоил Python и SQL и готов познакомиться со своим первым инструментом для ETL-процессов. К учебнику прилагается готовый практический стенд, позволяющий сразу применить полученные знания на практике.
|
|
|
|
## 📚 Введение
|
|
|
|
Apache Airflow — это мощный оркестратор рабочих процессов с открытым исходным кодом, который стал стандартом де-факто в мире обработки данных. Если вы работаете с автоматизацией процессов обработки информации — будь то подготовка данных для машинного обучения, создание отчетов или интеграция данных из различных источников — Airflow поможет вам организовать эти процессы эффективно и надежно.
|
|
|
|
Этот учебник разработан с учетом того, что вы:
|
|
- Имеете базовые знания Python и SQL
|
|
- Хотите освоить свой первый ETL-инструмент
|
|
- Нуждаетесь в практическом руководстве с понятными объяснениями
|
|
|
|
Мы начнем с основ и постепенно перейдем к продвинутым возможностям, чтобы вы могли уверенно использовать Airflow в реальных проектах. Курс ориентирован на версию Airflow 2.9 и использует практический подход с множеством примеров и визуальных материалов.
|
|
|
|
## 🎯 Что вы узнаете
|
|
|
|
- **Основы 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
|
|
- Настройка системы оповещений и уведомлений
|
|
|
|
## 🛠️ Практический стенд
|
|
|
|
К этому учебнику прилагается полноценный стенд Apache Airflow, который позволяет сразу приступить к практике и закрепить полученные знания. В папке [`airflow-docker`](airflow-docker/) вы найдете готовую среду для экспериментов с 6 готовыми DAG'ами разной сложности и практическими заданиями для каждого из них.
|
|
|
|
Стенд включает настроенную среду с PostgreSQL для тренировок, образцы данных и детальные инструкции для практических занятий. Подробную информацию о возможностях стенда и инструкции по запуску смотрите в [`README.md`](airflow-docker/README.md) папки `airflow-docker`.
|
|
|
|
## 🚀 Как использовать этот учебник
|
|
|
|
1. **Изучайте теорию**: начните с Введения в Airflow и переходите к следующим главам по порядку
|
|
2. **Практикуйтесь на стенде**: после каждой главы выполняйте соответствующие задания в практическом стенде
|
|
3. **Создавайте свои DAG**: применяйте полученные знания для решения реальных задач
|
|
4. **Используйте визуальные материалы**: в учебнике много изображений и диаграмм для лучшего понимания
|
|
5. **Экспериментируйте**: не бойтесь пробовать разные настройки и сценарии на учебном стенде
|
|
|
|
## 📝 Технические требования
|
|
|
|
- **Python**: базовое знание языка
|
|
- **SQL**: понимание основных запросов и концепций
|
|
- **Airflow**: версия 2.9 (на которой ориентирован курс)
|
|
- **Среда разработки**: любой текстовый редактор или IDE с поддержкой Python
|
|
|
|
## 💡 Советы для успешного обучения
|
|
|
|
- **Не торопитесь**: лучше глубоко понять каждый концепт, чем быстро пройти весь курс
|
|
- **Задавайте вопросы**: если что-то непонятно, вернитесь к предыдущим материалам
|
|
- **Делайте заметки**: записывайте важные моменты и примеры кода
|
|
- **Применяйте на практике**: сразу пробуйте создавать свои DAG для реальных задач
|
|
|
|
---
|
|
|
|
*Этот учебник создан для начинающих специалистов в области данных и инженерии. Все материалы ориентированы на практическое применение и пошаговое освоение Apache Airflow.*
|