О чём курс
В ходе курса участники получат знания об областях применения, основных возможностях и ограничениях инструмента Apache AirFlow, а также научатся использовать его возможности при работе в Hadoop.
Темы курса включают: введение в ETL и Apache AirFlow, настройку и установку, изучение абстракций и компонентов, работу с DAG, шедулинг и контроль исполнения процессов, мониторинг и отладку, более продвинутые техники и сценарии использования AirFlow, а также лучшие практики интеграции с другими системами, конфигурирование и масштабирование.
Кроме того, будут рассмотрены вопросы разработки плагинов, нотификаций, собственных сенсоров и операторов, а также способы тестирования и запуск AirFlow в контейнерах Docker.
По окончании курса участники будут уметь эффективно использовать возможности
Apache AirFlow при работе в Hadoop, создавать, выполнять и мониторить потоки заданий по обработке данных.
Цели
Развитие компетенции по созданию, выполнению мониторинга и оркестрации потоков операций по обработке данных.
Целевая аудитория
Инженеры данных
Предварительная подготовка
Специалисты, владеющие Python, SQL и имеющие опыт работы в Hadoop.
Для кого
Data Engineer
DevOps-инженер
Улучшаемые навыки
ETL
Apache Airflow
DAG
Docker
Big Data
Инструменты
Docker
Python
HDFS
SQL
Spark
Clickhouse
Apache Impala
SuperSet
Программа курса
01
Введение в Apache Airflow
Что такое ETL
Оркестрация вручную - Cron и скрипты
Первый оркестратор для Hadoop - Oozie
Введение в AirFlow
Локальная установка AirFlow
Установка в Docker
Настройка подключений к внешним сервисам
REST API & CLI
Практика 1. Установка и получение доступа к AirFlow
02
Описание и выполнение заданий в AirFlow
Запускаемое задание - граф задач (DAG)
Оператор (operator)
Процесс исполнения задания
Состояния задач (task)
Веб-интерфейс
Практика 2.
Планирование, ручной запуск и мониторинг выполнения заданий.
Планировщик (Scheduler)
Исполнитель заданий (Executor)
Исполнитель задач (Worker)
Веб-сервер
База метаданных
Конфигурация
Практика 3.
Настройка исполнителей для заданий.
04
Операторы и их композиции
Виды операторов
PythonOperator
Bash Operator
Http Operator
*SQL Operator
Практика 4.
Описание простых заданий.
Последовательное выполнение
Параллельное выполнение
Проверка условий
Передача данных между операторами: переменные
Шаблоны и макросы
Практика 5.
Описание составных заданий.
05
Условия срабатывания заданий
Готовые сенсоры
Практика 6. Задание условий срабатывания заданий.
Хуки
Триггеры
Прослушиватели
Backfill & catchup
Практика 7. Установка хуков.
Мониторинг и отладка заданий
06
Разработка для AirFlow
Плагины и нотификации.
Сенсоры и branch операторы.
Операторы и хуки.
Практика 8.
Разработка и использование оператора.
07
Лучшие практики использования
Оптимизация заданий
Взаимодействие заданий (XCom)
Динамические задания
Управление параллелизмом и пулингом
Тестирование заданий
Примеры практических задач и их решений
Практика 9.
Тестирование и оптимизация заданий.
08
Интеграция Airflow с другими системами
Обращение к файловой системе HDFS
Пошаговое выполнение отдельными сессиями Spark
Выполнение в одной сессии через Spark
REST API
Практика 10.
Запуск заданий Spark.
Выполнение запросов Impala
Практика 11.
Запуск запросов Impala.
Выполнение запросов ClickHouse
Практика 12.
Запуск заданий ClickHouse.
Интеграция с SuperSet
09
Промышленное развертывание AirFlow
Многоузловой кластер
AirFlow в Docker
Развертывание в Kubernetes
Аутентификация, шифрование, управление доступом
Журналы
Мониторинг
Обновление версий
Практика 13.
Выполнение заданий на многоузловом кластере.
10
Итого на курс: 24 академических часа: теория – 4,5 ч (19%), практика – 19,5 ч (81%).
Чему вы научитесь
01
Создавать и настраивать DAG-задания в Apache AirFlow
02
Мониторить и отлаживать выполнение задач
03
Интегрировать AirFlow с Hadoop и другими системами
04
Разрабатывать плагины, нотификации и собственные операторы
05
Тестировать и оптимизировать задания
06
Развертывать AirFlow в Docker и Kubernetes