ПРОГРАММА КУРСА ://

РЕЛЯЦИОННЫЕ И MPP СУБД
Начнём погружение в инженерию данных со знакомства с реляционными и MPP базами данных. Рассмотрим их архитектуру, обсудим популярные решения и узнаем, в каких случаях MPP СУБД оказываются лучше традиционных. Научимся готовить PostgreSQL и MPP базы данных на примере Greenplum.
Смотреть уроки
1. Архитектура реляционных и MPP баз данных
Рассмотрим, как устроены реляционные и MPP базы данных, и узнаем, для каких задач они подходят.
2. Объекты баз данных
Поговорим о таблицах и индексах, обсудим последовательности и возможные триггеры, рассмотрим процедуры и функции.
3. Подключение к PostgreSQL и Greenplum. Работа со словарём данных
Познакомимся с популярными клиентами для подключения к PostgreSQL и Greenplum. Посмотрим на основные объекты словаря данных и их содержимое. Научимся с помощью запросов получать информацию об объектах базы данных.
4. Обработка запросов в традиционных и MPP СУБД
Обсудим особенности построения запросов и научимся проводить анализ плана запроса. Поговорим об эффективных способах получения данных из Greenplum, разберёмся, чем Greenplum отличается от обычных реляционных баз данных, и рассмотрим особенности других популярных решений.
5. Применение R, Python и GeoSpatial в расчётах на Greenplum
Научимся проводить расчёты на R и Python прямо внутри Greenplum. Поработаем с пространственными объектами при помощи библиотеки PostGIS.
АВТОМАТИЗАЦИЯ ETL-ПРОЦЕССОВ
ETL — ключевой процесс в управлении хранилищами данных. Рассмотрим принципы и основные этапы его построения. Познакомимся с популярным инструментом Airflow, подробно разберём его основные компоненты и научимся с его помощью автоматизировать ETL-пайплайны.
Смотреть уроки
1. ETL-процессы
Рассмотрим основные принципы построения ETL-процессов и познакомимся с планировщиками задач (шедулерами).
2. Знакомство с Airflow
Познакомимся с Airflow — инструментом для оркестровки ETL-процессов. Рассмотрим его основные компоненты: воркер, шедулер, веб-сервер, базу данных. Создадим в Airflow несколько задач (тасков), объединим их в цепочку (DAG) и посмотрим, как это работает на практике.
3. Сложные пайплайны
Для более сложных пайплайнов в Airflow есть дополнительные инструменты: сабдаги и группы тасков для группировки задач, Trigger Rules и BranchPythonOperator для настраивания правил, Jinja для параметризации и XCom для передачи данных между тасками. Научимся использовать все эти инструменты в работе.
4. Разработка своих плагинов
В Airflow есть много готовых операторов, но иногда требуется автоматизировать работу с API или реализовать свой обработчик для стандартного источника. Научимся писать собственные хуки, операторы и сенсоры.
5. Установка и настройка Airflow
Есть несколько способов развернуть Airflow: просто запустить pip3 install apache-airflow, развернуть готовый докер-образ или организовать хайлоад с кластеризацией. Обсудим плюсы и минусы каждого подхода. Посмотрим, какие настройки есть у Airflow, и научимся управлять инструментом через интерфейс командной строки.
BIG DATA
Познакомимся с механизмами распределённого хранения больших данных на базе Hadoop, разберём основные паттерны реализации их распределённой обработки. Рассмотрим вопросы отказоустойчивости и восстановления после сбоев. Поговорим о потоковой обработке данных, методах и средствах мониторинга и профилирования заданий Spark.
Смотреть уроки
1. HDFS
Подробно рассмотрим Hadoop Distributed File System — реализацию идеи распределённого отказоустойчивого хранения в Hadoop экосистеме.
2. YARN. MapReduce
Познакомимся с универсальным менеджером ресурсов YARN, рассмотрим реализацию MapReduce парадигмы, обсудим её сильные и слабые стороны.
3. Hive. SQL для Big Data
Обсудим применение SQL на больших данных, рассмотрим всё от запросов до уровней хранения.
4. HBase. Масштабируемая колоночная база данных
Поговорим о NoSQL базах данных и рассмотрим колоночную базу данных в Hadoop.
5. Spark
Познакомимся с основными идеями Spark, обсудим его отличия от MapReduce, поговорим про модель вычислений и RDD.
6. Spark SQL. Dataframes
Обсудим Spark Dataframe и научимся использовать SQL в Spark.
7. Kafkа. Spark Streaming
Поработаем с Kafka — масштабируемым брокером сообщений. Научимся обрабатывать данные на лету с помощью Spark Streaming.
8. Отладка, профилирование и мониторинг Spark Job
Поговорим про инструментальные средства отладки и мониторинга. Обсудим, как правильно читать статистику и логи.
ПРОЕКТИРОВАНИЕ DWH
Data Warehouse — централизованное хранилище данных из разных источников. Познакомимся с его верхнеуровневой логической архитектурой, рассмотрим её основные компоненты и разберём на практике разные подходы к проектированию детального слоя DWH.
Смотреть уроки
1. Архитектура DWH
Узнаем, что такое хранилище данных, как оно устроено и зачем в нём столько слоев. Обсудим и сравним подходы Инмона и Кимбалла к построению DWH.
2. Нормальные формы
Познакомимся с важными аспектами теории нормальных форм, процессами нормализации и денормализации баз данных.
3. Методология Dimensional Modeling
Многомерное моделирование является классическим подходом к созданию витрин данных. Рассмотрим популярные схемы — «звезда», «снежинка» и «созвездие». Обсудим таблицы фактов и измерений, поговорим о вариантах хранения медленно меняющихся измерений.
4. Методология Data Vault
Data Vault — один из современных подходов к проектированию хранилищ данных. Рассмотрим особенности и предпосылки возникновения новой методологии. Обсудим основные сущности Data Vault — Hub, Link, Satellite.
5. Методология Anchor Modeling
Если довести нормализацию до предельной формы, получится Anchor Modeling. Рассмотрим особенности этой методологии и обсудим её основные сущности — Anchor, Link, Knot, Attribute.
6. Сравнение методологий проектирования
Сравним все рассмотренные подходы и выясним, как выбрать оптимальный для решения конкретной задачи.
ОБЛАЧНОЕ ХРАНИЛИЩЕ
Рассмотрим облачные решения и инструменты для построения DWH и Data Lake. Познакомимся с Kubernetes и научимся применять его для работы с данными. Поработаем с облаком на практике, рассмотрим процесс установки и настройки JupyterHub и Spark в Kubernetes.
Смотреть уроки
1. Введение в облака
Поговорим об основных моделях облачных услуг: IaaS, PaaS, SaaS. Обсудим основы создания и использования виртуальных машин и сервисов. На практике рассмотрим работу виртуальных машин в облаке.
2. Облачная инфраструктура
Разберём ключевые особенности облачной инфраструктуры в контексте работы с данными. Выясним, на что стоит обращать внимание при разворачивании Hadoop, ClickHouse и Greenplum в облаке. Самостоятельно развернём и протестируем несколько систем.
3. Особенности решений для работы с данными в облаках
Познакомимся с BigQuery, Snowflake, AWS Athena и другими популярными инструментами. Рассмотрим архитектуру хранилищ данных в облаках, обсудим традиционный и облачный подходы, поговорим про разнесение данных на слои.
4. Kubernetes для инженерии данных
Рассмотрим основной функционал Kubernetes, поговорим про его архитектуру и базовые абстракции. Обсудим имеющиеся в нём инструменты для инженерии данных — Spark, Airflow, Presto. Поработаем в облаке с кластером Kubernetes, развернём и протестируем в нём Spark и JupyterHub.
ВИЗУАЛИЗАЦИЯ ДАННЫХ
Рассмотрим основные принципы работы с данными с точки зрения их визуализации и научимся смотреть на данные глазами их потребителя. Познакомимся с Tableau — гибким и мощным BI-инструментом. Узнаем, как он взаимодействует с базами данных, и построим с его помощью интерактивный дашборд для мониторинга DWH платформы.
Смотреть уроки
1. Зачем нужна визуализация. Основы Tableau
Разберёмся, зачем инженеру данных нужно изучать визуализацию, и поймём, какие бизнес-задачи она решает. Рассмотрим основные виды графиков и научимся строить их в Tableau.
2. Как сделать дашборд
Узнаем, какие существуют виды дашбордов, и познакомимся с базовыми правилами вёрстки и графического дизайна. Попробуем сделать свой дашборд в Tableau.
3. Сбор требований. Dashboard Canvas
Узнаем, как правильно собирать требования для дашборда, чтобы он решал задачи пользователя. Познакомимся с фреймворком Dashboard Canvas и рассмотрим примеры его применения.
4. Подключение данных к Tableau
Посмотрим, как Tableau работает с данными, и узнаем, какие существуют модели данных и способы подключения к источникам. Рассмотрим запросы Tableau при подключении к базам данных в различных сценариях.
5. DataMesh и продуктовые подходы к мониторингу DWH и BI
Обсудим, как с помощью дашбордов и KPI можно управлять DWH и BI как продуктами и улучшать качество работы этих систем.
6. Разработка дашборда для мониторинга
С нуля построим дашборд для мониторинга отклонений метрик при регулярном обновлении данных.
BIG ML
Познакомимся с теорией распределённого машинного обучения. Научимся работать с популярным модулем Spark ML и рассмотрим подходы к обучению и применению моделей на больших данных.
Смотреть уроки
1. Введение в машинное обучение
Рассмотрим базовые концепции машинного обучения. Разберёмся, как происходит обучение моделей, и узнаем, какую роль в этом процессе играют инженеры данных.
2. Теория распределённого машинного обучения
Обсудим и сравним подходы к распределённому машинному обучению — Model Distributed и Data Distributed.
3. Spark ML
Познакомимся с реализацией распределённого машинного обучения на примере Spark ML. Научимся применять такие важные компоненты, как Transformers, Estimators, Pipeline, HT.
4. Применение готовых моделей с помощью Pandas UDF
Научимся писать свои функции (user-defined functions), которые будут исполняться в Spark. Рассмотрим, как с их помощью применять готовые обученные модели на больших данных.
УПРАВЛЕНИЕ МОДЕЛЯМИ
В работе инженеры часто сталкиваются с подготовкой данных для обучения ML-моделей. Рассмотрим инструменты для построения ML-пайплайнов, версионирования датасетов, организации учёта и трекинга моделей.
Смотреть уроки
1. Пайплайн обучения ML-модели
Рассмотрим основные этапы общего пайплайна обучения любой модели. Разберёмся, зачем готовить датасеты и как управлять этим процессом. Обсудим проблемы, с которыми сталкиваются при обучении моделей — воспроизводимость экспериментов, трекинг, протухание.
2. Версионирование данных (DVC)
Обсудим методы и подходы к версионированию данных на примере Data Version Control (DVC). Научимся вести версионирование датасетов и пользоваться ими.
3. Применение MLFlow для учёта и трекинга моделей
Научимся применять MLFlow для сохранения и выгрузки моделей в процессе проведения над ними экспериментов.
УПРАВЛЕНИЕ ДАННЫМИ
На практике часто приходится иметь дело с разными данными и огромным числом интеграций и процессов, выполняющих над ними те или иные преобразования. Познакомимся с популярными подходами к управлению данными, обсудим инструменты для контроля качества данных и отслеживания их происхождения.
Смотреть уроки
1. Data Management
Поговорим об управлении данными, рассмотрим составляющие этого процесса и узнаем, почему он так важен.
2. Data Security
Данные — один из важнейших активов любой компании. Обсудим подходы, применяемые для обеспечения их безопасности.
3. Data Quality
Чтобы с данными было удобно работать, они должны отвечать определённым требованиям к их качеству. Разберёмся, что такое Data Quality и как его оценивать.