Инженер данных

на Отзовике, IRecommend и TutorTop
Курс идёт 6,5 месяцев, нагрузка ∼12 часов в неделю
1 модуль — бесплатно, чтобы вы попробовали курс и решили, подходит ли он вам
Ответите на несколько вопросов и поймёте, достаточно ли у вас знаний и навыков, чтобы комфортно проходить курс
Узнаете, чем занимается инженер данных и как именно он работает с данными, а ещё выясните, чем отличаются инженеры данных от других специалистов
Разберётесь в инструментах и технология, которыми пользуются инженеры данных на разных этапах работы
Примерите роль начинающего инженера данных, который только вышел на работу в IT‑компанию: получите требования от лида и построите по ним витрину данных
Виды данных по степени строгости организации, различия и назначение баз данных SQL и NoSQL, характеристики PostgreSQL, интерфейс и возможности DBeaver
Понятие нормализации, нормальные формы
Минусы нормализации, хранилище данных, OLTP и OLAP, денормализованные модели
Сбор требований, подходы Инмона и Кимбалла, современные модели DWH, выбор подхода для DWH, создание процессов миграции данных
Понятие и типы
Построите витрину с инкрементальной загрузкой для аналитики аудитории интернет‑магазина
Понятие витрины данных, транзакции, инкрементальная загрузка данных, понятие VIEW, визуализация данных
План запроса, как исследовать запрос, типы индексов и способы их создания
Приведёте в порядок модель данных и осуществите миграцию в текущем хранилище
ETL-процесс и его пайплайн, требования к ETL-процессу, источники данных, разложение данных по слоям, подключение к API и базам данных, схемы источника, перенос данных в хранилище, автоматизация
Виды загрузок, слои хранения, как разложить данные по готовым слоям, порядок загрузки объектов, проектирование системы восстановления
Понятие, для каких задач используется Airflow, основные концепции, архитектура, первый взгляд на UI, структура кода DAG, статусная модель задач, механики шаблонов, особенности работы со временем, продвинутые механики и альтернативы Airflow для ETL-процессов
Планирование процесса, как сделать запрос на генерацию файла через API, подключение к хранилищу и получение файла, переведение файла в табличный вид, SCD, добавление технических полей, обновление слоя витрин, постановка процесса на регламент
Построите пайплайн автоматизированного получения, обработки и загрузки данных от источников до витрины
Технические и бизнес-качества, как собрать требования к данным, система контроля качества
Выбор места проверки в пайплайне, разработка проверок, результаты и отслеживание проверок, runbook процесса
Научитесь оценивать качество данных
Сбор требований для DWH, модель данных в PostgreSQL, MongoDB как NoSQL-СУБД, подключение к MongoDB, данные в MongoDB, как связаны данные в источниках
Проектирование хранилища по слоям, выбор модели данных, проектирование слоёв CDM и STG, хранение исторических данных, проектирование слоя DDS, проектирование ETL между слоями
Транзакции и их свойства, изоляция транзакций, паттерн Transactional Outbox, сбор данных из PostgreSQL и MongoDB, перенос данных из STG в DDS, заполнение витрины в слое CDM
Тестирование DWH, интеграция с BI‑решением, как писать документацию к DWH
Спроектируете и реализуете DWH для стартапа
Знакомство с аналитическими СУБД и Vertica, типы данных в Vertica (строковые и числовые, временные и специальные), запись данных в Vertica, проекции, параметры сегментации и сортировки, удаление и обновление данных в Vertica, партиционирование таблиц, операции с партициями
Исходные данные, staging-слой, проверка качества данных, выбор модели для аналитического хранилища, разработка аналитического хранилища
Построите DWH для высоконагруженной системы данных с использованием Vertica
Знакомство с Data Lake, сбор требований, знакомство с Hadoop, архитектура HDFS, репликация данных и блоки в HDFS, управление HDFS из консоли, проектирование хранения данных в HDFS
Парадигма MapReduce, знакомство со Spark, вычисления в Spark, знакомство с YARN, подключение к Spark
Знакомство с PySpark, структуры данных в Spark, создание DataFrame и базовые операции: преобразования и действия, JOIN и UNION, кеширование и контрольные точки; встроенные стандартные функции, оконные функции в PySpark, как собрать, запустить и автоматизировать джобу
Построите Data Lake и автоматизируете загрузку и обработку данных в нём
Что такое потоковая обработка, брокеры сообщений, Kafka, работа с Kafka через kcat, знакомство со Spark Structured Streaming — базовые операции, как создать Spark Streaming Application
Сбор требований к стримингу, проектирование стриминговой системы, изучение данных в Kafka, преобразование потоковых данных, дедупликация, подключение к PostgreSQL и изучение данных, проектирование выходного сообщения, отправка сообщения в Kafka
Разработаете систему для обработки данных в режиме реального времени
Что такое облачные технологии, подключение к Yandex Cloud, внутри Yandex Cloud, сбор требований к DWH
Redis — key-value хранилище, как его поднять в Yandex Cloud, изучение данных в Redis, как поднять Kafka в Yandex Cloud, изучение данных в Kafka
Микросервисная архитектура, контейнеризация в Docker, создание образов контейнеров, репозиторий для образов, знакомство с Kubernetes, возможности утилиты kubectl, подготовка манифестов, пакетный менеджер Helm, разбор шаблона сервиса
Как поднять PostgreSQL в Yandex Cloud, структура баз данных, подготовка контейнера, планирование и написание логики первого сервиса
Подключение источников данных, создание диаграмм, создание дашборда
Разработаете инфраструктуру для хранения и обработки данных в облаке
В конце курса у вас будет выбор: выполнить ещё один учебный проект или реализовать пет-проект. В первом случае нужно выбрать бизнес-задачу и разработать архитектуру данных с использованием всех изученных инструментов. Во втором случае вы сможете воплотить в жизнь и защитить личный проект. Идея для пет-проекта может быть любой, главное — чтобы она была связана с инженерией данных и при её реализации использовались все изученные инструменты. Что бы вы ни выбрали, вас поддержат наставники и ревьюеры, а получившийся кейс украсит ваше портфолио.