курс AIRF: Apache AirFlow
2-дневный практический курс по Apache AirFlow разработан для специалистов, инженеров данных и архитекторов, отвечающих за настройку и сопровождение потоков данных (Data Flow) в организации и озерах данных под управление Hadoop и AirFlow. Аудитория: Системные администраторы, системные архитекторы, разработчики Hadoop, желающие получить практические навыки по управлению потоковыми данными с использованием Apache AirFlow.
Программа курса
1. Введение в Data Flow
- История появления,на чем написан (python)
- Основной объект (DAG)
- Операторы и таски
- Worker
- Scheduler, schedule interval и execution date
- Pool’ы
- Приоритезация
- Метаданные
- Airflow UI и Webserver
- Мониторинг (средства Airflow и кастомные варианты)
- Алерты Введение в AirFlow
- Логирование
2. Разработка Data Flow с Apache AirFlow
- Создание и основные параметры DAG
- Operators и plugins
- Hooks, connections, и variables
- Работающие из коробки и уже написанные community операторы, хуки и т.п.
- Создание тасков
- Программа курса
- Введение в Data Flow
- История появления,на чем написан (python)
- Основной объект (DAG)
- Операторы и таски
- Worker
- Scheduler, schedule interval и execution date
- Pool’ы
- Приоритезация
- Метаданные
- Airflow UI и Webserver
- Мониторинг (средства Airflow и кастомные варианты)
- Алерты Введение в AirFlow
- Логирование
- Разработка Data Flow с Apache AirFlow
- Создание и основные параметры DAG
- Operators и plugins
- Hooks, connections, и variables
- Работающие из коробки и уже написанные community операторы, хуки и т.п.
- Создание тасков
- Макросы (Jinja)
- Управление зависимостями (внутри DAG, внешние зависимости, timedelta)
- Визуализация в Web UI
- Настройка расписания
- Контекст (выполнения task)
- Обмен сообщениями между tasks, DAGS (xcom)
- Добавление настраиваемых операторов, сенсоров, хуков и т.п.
3. Развертывание и настройка Airflow
- Установка Apache Airflow в конфигурации по умолчанию (SQLite, SequentialExecutor)
- Установка Redis, Celery
- Настройка airflow.cfg (PostgreSQL, Celery, Redis, parallel degree…)
- Запуск (service,н—рsystemctl, doker)
- Кластеризация (масштабируемость, безотказность)
4. Особенности и проблемы в Airflow
- Версии python(2 или 3)
- Debug
- Тестирование
- Логирование
Практические занятия:
- Настройка окружения (Pycharm, python, библиотеки для окружения в Virtualenv).
- Использование DAG с задачами BashOperator / PythonOperator для получения данных из Apache Kafka.
- Настраиваемые операторы, осуществляющие по заданным параметрам выгрузку из Apache Kafka.
- Создание DAG, использующего созданный оператор.