# Учебник по Apache Airflow для начинающих

Добро пожаловать в учебник по Apache Airflow! Этот курс создан специально для тех, кто уже освоил Python и SQL и готов познакомиться со своим первым инструментом для ETL-процессов.

## 📚 Введение

Apache Airflow — это мощный оркестратор рабочих процессов с открытым исходным кодом, который стал стандартом де-факто в мире обработки данных. Если вы работаете с автоматизацией процессов обработки информации — будь то подготовка данных для машинного обучения, создание отчетов или интеграция данных из различных источников — Airflow поможет вам организовать эти процессы эффективно и надежно.

Этот учебник разработан с учетом того, что вы:
- Имеете базовые знания Python и SQL
- Хотите освоить свой первый ETL-инструмент
- Нуждаетесь в практическом руководстве с понятными объяснениями

Мы начнем с основ и постепенно перейдем к продвинутым возможностям, чтобы вы могли уверенно использовать Airflow в реальных проектах. Курс ориентирован на версию Airflow 2.5 и использует практический подход с множеством примеров и визуальных материалов.

## 🎯 Что вы узнаете

- **Основы Airflow**: что это такое, для каких задач используется и почему он стал таким популярным
- **Ключевые концепции**: DAG, задачи, операторы и другие фундаментальные понятия
- **Архитектура**: как устроен Airflow внутри и как это влияет на вашу работу
- **Интерфейс**: как эффективно использовать веб-интерфейс для мониторинга и управления
- **Практическое создание DAG**: пошаговое руководство по созданию ваших первых рабочих процессов
- **Отладка и мониторинг**: как понимать статусы задач и быстро находить проблемы
- **Продвинутые возможности**: шаблоны, параметры, управление временем и другие мощные функции

## 📖 Содержание курса

### [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. Продвинутые возможности Airflow](09%20-%20Продвинутые%20возможности%20Airflow.md)
- Расширенные операторы и сенсоры
- Обработка ошибок и повторные попытки
- Оптимизация и масштабирование DAG

## 🚀 Как использовать этот учебник

1. **Следуйте порядку**: начните с Введения в Airflow и переходите к следующим по порядку
2. **Практикуйтесь**: создавайте свои DAG по мере изучения материала
3. **Используйте изображения**: в учебнике много визуальных материалов для лучшего понимания
4. **Экспериментируйте**: не бойтесь пробовать разные настройки и сценарии

## 📝 Технические требования

- **Python**: базовое знание языка
- **SQL**: понимание основных запросов и концепций
- **Airflow**: версия 2.5 (на которой ориентирован курс)
- **Среда разработки**: любой текстовый редактор или IDE с поддержкой Python

## 💡 Советы для успешного обучения

- **Не торопитесь**: лучше глубоко понять каждый концепт, чем быстро пройти весь курс
- **Задавайте вопросы**: если что-то непонятно, вернитесь к предыдущим материалам
- **Делайте заметки**: записывайте важные моменты и примеры кода
- **Применяйте на практике**: сразу пробуйте создавать свои DAG для реальных задач

---

*Этот учебник создан для начинающих специалистов в области данных и инженерии. Все материалы ориентированы на практическое применение и пошаговое освоение Apache Airflow.*