Описание
В ходе курса участники получат знания об областях применения, основных возможностях и ограничениях инструмента Apache AirFlow, а также научатся использовать его возможности при работе в Hadoop .
Темы курса включают: введение в ETL и Apache AirFlow, настройку и установку, изучение абстракций и компонентов, работу с DAG, шедулинг и контроль исполнения процессов, мониторинг и отладку, более продвинутые техники и сценарии использования AirFlow, а также лучшие практики интеграции с другими системами, конфигурирование и масштабирование. Кроме того, будут рассмотрены вопросы разработки плагинов, нотификаций, собственных сенсоров и операторов, а также способы тестирования и запуск AirFlow в контейнерах Docker.
По окончании курса участники будут уметь эффективно использовать возможностиApache AirFlow при работе в Hadoop, создавать, выполнять и мониторить потоки заданий по обработке данных.
![](/local/components/luxoft/courses.detail/templates/.default/src/images/course/detail/icons/certificate-lt-id.png)
удостоверение о повышении квалификации государственного образца
Цели
Целевая аудитория
Предварительная подготовка
Разбираемые темы
-
1.Введение в Apache Airflow [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 1,5]
-
Что такое ETL
-
Оркестрация вручную - Cron и скрипты
-
Первый оркестратор для Hadoop - Oozie
-
Введение в AirFlow
-
Локальная установка AirFlow
-
Установка в Docker
-
Настройка подключений к внешним сервисам
-
REST API & CLI
Практика 1. Установка и получение доступа к AirFlow
-
-
2.Описание и выполнение заданий в AirFlow [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 1,5]
-
Запускаемое задание - граф задач (DAG)
-
Оператор (operator)
-
Процесс исполнения задания
-
Состояния задач (task)
-
Веб-интерфейс
- Планирование, ручной запуск и мониторинг выполнения заданий.
-
-
3.Компоненты AirFlow [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 0,5]
-
Планировщик (Scheduler)
-
Исполнитель заданий (Executor)
-
Исполнитель задач (Worker)
-
Веб-сервер
-
База метаданных
-
Конфигурация
-
-
4.Операторы и их композиции [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 2,5]
-
Виды операторов
-
PythonOperator
-
BashOperator
-
HttpOperator
-
*SQLOperator
Практика 4. Описание простых заданий.
-
Последовательное выполнение
-
Параллельное выполнение
-
Проверка условий
-
Передача данных между операторами: переменные
-
Шаблоны и макросы
-
-
5. Условия срабатывания заданий [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 1,5]
- Готовые сенсоры
Практика 6. Задание условий срабатывания заданий.
-
Хуки
-
Триггеры
-
Прослушиватели
-
Backfill & catchup
Практика 7. Установка хуков.
- Мониторинг и отладка заданий
-
6.Разработка для AirFlow [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 1,5]
-
Плагины и нотификации.
-
Сенсоры и branch операторы.
-
Операторы и хуки.
Практика 8. Разработка и использование оператора.
-
-
7.Лучшие практики использования [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 3,5]
-
Оптимизация заданий
-
Взаимодействие заданий (XCom)
-
Динамические задания
-
Управление параллелизмом и пулингом
-
Тестирование заданий
-
Примеры практических задач и их решений
-
-
8.Интеграция Airflow с другими системами [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 3,5]
-
Обращение к файловой системе HDFS
-
Пошаговое выполнение отдельными сессиями Spark
-
Выполнение в одной сессии через Spark REST API
Практика 10. Запуск заданий Spark.
- Выполнение запросов Impala
Практика 11. Запуск запросов Impala.
- Выполнение запросов ClickHouse
Практика 12. Запуск заданий ClickHouse.
- Интеграция с SuperSet
-
-
9.Промышленное развертывание AirFlow [Лекции (ак.ч) - 0,5., Практика (ак.ч) - 3,5]
-
Многоузловой кластер
-
AirFlow в Docker
-
Развертывание в Kubernetes
-
Аутентификация, шифрование, управление доступом
-
Журналы
-
Мониторинг
-
Обновление версий
Практика 13. Выполнение заданий на многоузловом кластере.
-
-
Итого на курс 24 ак. часа: теория – 4,5 ч (19%), практика – 19,5 ч (81%), ДЗ – по каждой теме.