Программа посвящена проектированию и реализации ETL/ELT пайплайнов, а также приобретению практических навыков оркестрации и управления пайплайнами с помощью современных инструментов работы с большими данными.
Знания и умения, полученные в результате изучения
В результате освоения программы, обучающийся должен уметь:
• Работать с различными источниками данных.
• Проектировать ETL/ELT пайплайны.
• Использовать Airflow для оркестрации пайплайнов.
• Использовать брокер сообщений Кафка в качестве источника данных.
• Обрабатывать большие данные с помощью Spark.
• Применять различные техники валидации данных
В результате освоения программы обучающийся должен знать:
• Базовые понятия терминов и определений ETL\ELT.
• Особенности проектирования ETL/ELT пайплайнов.
• Инструменты работы с большими данными.
• Инструменты для работы с Kafka.
• Понимание архитектуры Spark, PySpark и SparkSQL.
• Техники валидации данных.
В результате освоения программы обучающийся должен приобрести практический опыт:
• Проектирования и реализации ETL/ELT пайплайнов.
• Управления пайплайнами с помощью современных инструментов работы с большими данными.
Тема 1. Введение в ETL/ELT
1.1 Введение в ETL/ELT
Назначение, особенности ETL/ELT.
Основные термины и определения.
Дата пайплайны: извлечение (копирование), очистка, обогащение, загрузка.
Основные шаблоны дата пайплайнов.
1.2 Архитектурные решения ETL/ELT
Архитектурные решения ETL/ELT: пакетная, потоковая обработка, lambda – архитектура, kappa – архитектура, EtLT.
Основные сложности и пути их решений.
Обзор инструментов.
Техники тестирования ETL/ELT.
Практические занятия
Не предусмотрены
Тема 2. Введение в Airflow
2.1 Введение в Airflow
Оркестрация пайплайнов.
Airflow: архитектура, зависимости, операторы, планировщик, дебаггинг, коннекшены, Xcom, задачи, сенсоры, переменные, Task Flow API.
Практические занятия
Не предусмотрены
Тема 3. Работа с источниками данных.
3.1 Источники данных
Типы источников данных.
Характеристики данных: структура, объем (HADOOP), изменчивость, достоверность, полнота, временной лаг и т.д., юридический аспект.
Примеры и особенности.
3.2 Работа с источниками данных.
Извлечение и загрузка в промежуточные таблицы с учетом архитектуры хранилища данных.
Full extract или Change data capture.
Обзор инструментов.
Практические занятия
1. Построить пайплайн ежедневной выгрузки данных с сайта в таблицу базы данных.
2. Построить витрину данных ежедневных агрегированных данных о клиентах
3. Написать даг обновления данных за предыдущий день, который бы запускался до начала рабочего дня.
Тема 4. Брокер сообщений Kafka
4.1 Брокер сообщений Kafka
Введение в архитектуру брокера сообщений Kafka.
Основные термины и определения: продюсеры, консюмеры, брокеры, Zookeeper.
4.2 Использование брокера сообщений Kafka в качестве источника данных
Использование брокера сообщений Кафки в качестве источника данных.
Интеграция брокера сообщений Кафка в ClickHouse.
Инструменты для работы с Kafka.
Администрирование Kafka.
Практические занятия
1. Заполнить таблицы хранилища данными из Кафки, используя материализованные представления либо библиотеки Python.
2. Предусмотреть таблицу для сообщений, которые не удается распарсить.
Тема 5. Обработка больших данных с помощью Spark
5.1 Введение в Spark.
Введение в Spark.
Архитектура Spark.
Основные концепции.
PySpark и SparkSQL.
5.2 Обработка больших данных с помощью Spark.
Потребление данных из различных источников.
Преобразование данных.
Экспорт данных
Практические занятия
Построить ETL процесс, используя PySpark.
Тема 6. Введение в очистку и подготовку данных. Мониторинг данных и системы.
6.1 Введение в очистку и подготовку данных.
Требования к данным.
Ошибки данных: некорректные данные, неполные данные.
Обнаружение некорректных данных.
Основные техники валидации данных: Data Lineage, Data Governance, Data Provenance, Data Quality, Data Catalog.
Обогащение данных.
Набор инструментов.
6.2 Мониторинг данных и системы. Подходы к мониторингу. Grafana: особенности, возможности, построение дашбордов и best practices.
Практические занятия
1. Реализовать data lineage, используя средства Airflow. Реализовать даг валидации данных.
2. В Grafana создать дашборды для мониторинга загрузки данных в таблицы хранилища (все слои) и для мониторинга данных в кафка топиках (отставание).
Тема 7. Итоговая аттестация
Практические занятия Зачет