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

Яндекс Практикум
4,7
Научитесь разрабатывать архитектуру данных за 6,5 месяцев
4,87
На основании отзывов пользователей
на Отзовике, IRecommend и TutorTop
19 000 /мес
или сразу 98 000
Смотреть курс
Программа обучения

Курс идёт 6,5 месяцев, нагрузка ∼12 часов в неделю

Как стать инженером данных

1 модуль — бесплатно, чтобы вы попробовали курс и решили, подходит ли он вам

SQL
PostgreSQL
Metabase
Входное тестирование

Ответите на несколько вопросов и поймёте, достаточно ли у вас знаний и навыков, чтобы комфортно проходить курс

Окружение инженера данных

Узнаете, чем занимается инженер данных и как именно он работает с данными, а ещё выясните, чем отличаются инженеры данных от других специалистов

Инфраструктура инженерии данных

Разберётесь в инструментах и технология, которыми пользуются инженеры данных на разных этапах работы

Примерите роль начинающего инженера данных, который только вышел на работу в IT‑компанию: получите требования от лида и построите по ним витрину данных

Как построить аналитическое хранилище данных
Python
PostgreSQL
DBeaver
DWH
SCD
PostgreSQL и DBeaver

Виды данных по степени строгости организации, различия и назначение баз данных SQL и NoSQL, характеристики PostgreSQL, интерфейс и возможности DBeaver

Нормальные формы

Понятие нормализации, нормальные формы

Знакомство с DWH

Минусы нормализации, хранилище данных, OLTP и OLAP, денормализованные модели

Погружение в DWH

Сбор требований, подходы Инмона и Кимбалла, современные модели DWH, выбор подхода для DWH, создание процессов миграции данных

SCD и его типы

Понятие и типы

Построите витрину с инкрементальной загрузкой для аналитики аудитории интернет‑магазина

Работа с данными в хранилище
PostgreSQL
VIEW
Витрина данных
Витрина данных и VIEW

Понятие витрины данных, транзакции, инкрементальная загрузка данных, понятие VIEW, визуализация данных

Оптимизация запросов

План запроса, как исследовать запрос, типы индексов и способы их создания

Приведёте в порядок модель данных и осуществите миграцию в текущем хранилище

ETL: автоматизация подготовки данных
Python
PostgreSQL
Airflow
Анализ вводных по задаче

ETL-процесс и его пайплайн, требования к ETL-процессу, источники данных, разложение данных по слоям, подключение к API и базам данных, схемы источника, перенос данных в хранилище, автоматизация

Проектирование ETL-процесса

Виды загрузок, слои хранения, как разложить данные по готовым слоям, порядок загрузки объектов, проектирование системы восстановления

Ликбез по Airflow

Понятие, для каких задач используется Airflow, основные концепции, архитектура, первый взгляд на UI, структура кода DAG, статусная модель задач, механики шаблонов, особенности работы со временем, продвинутые механики и альтернативы Airflow для ETL-процессов

Реализация ETL в Airflow

Планирование процесса, как сделать запрос на генерацию файла через API, подключение к хранилищу и получение файла, переведение файла в табличный вид, SCD, добавление технических полей, обновление слоя витрин, постановка процесса на регламент

Построите пайплайн автоматизированного получения, обработки и загрузки данных от источников до витрины

Проверка качества данных
Требования к качеству данных

Технические и бизнес-качества, как собрать требования к данным, система контроля качества

Проектирование и разработка проверки

Выбор места проверки в пайплайне, разработка проверок, результаты и отслеживание проверок, runbook процесса

Научитесь оценивать качество данных

DWH для нескольких источников
NoSQL
MongoDB
PostgreSQL
Сбор требований и исследование источников

Сбор требований для DWH, модель данных в PostgreSQL, MongoDB как NoSQL-СУБД, подключение к MongoDB, данные в MongoDB, как связаны данные в источниках

Проектирование DWH

Проектирование хранилища по слоям, выбор модели данных, проектирование слоёв CDM и STG, хранение исторических данных, проектирование слоя DDS, проектирование ETL между слоями

Реализация DWH

Транзакции и их свойства, изоляция транзакций, паттерн Transactional Outbox, сбор данных из PostgreSQL и MongoDB, перенос данных из STG в DDS, заполнение витрины в слое CDM

Тестирование, интеграция и документация

Тестирование DWH, интеграция с BI‑решением, как писать документацию к DWH

Спроектируете и реализуете DWH для стартапа

Аналитические базы данных
S3
Vertica
Airflow
PostgreSQL
Аналитические СУБД и Vertica

Знакомство с аналитическими СУБД и Vertica, типы данных в Vertica (строковые и числовые, временные и специальные), запись данных в Vertica, проекции, параметры сегментации и сортировки, удаление и обновление данных в Vertica, партиционирование таблиц, операции с партициями

Разработка аналитической базы данных

Исходные данные, staging-слой, проверка качества данных, выбор модели для аналитического хранилища, разработка аналитического хранилища

Построите DWH для высоконагруженной системы данных с использованием Vertica

Организация Data Lake
HDFS
Hadoop
MapReduce
Apache Spark
Проектирование Data Lake

Знакомство с Data Lake, сбор требований, знакомство с Hadoop, архитектура HDFS, репликация данных и блоки в HDFS, управление HDFS из консоли, проектирование хранения данных в HDFS

Знакомство со Spark

Парадигма MapReduce, знакомство со Spark, вычисления в Spark, знакомство с YARN, подключение к Spark

PySpark для инженера данных

Знакомство с PySpark, структуры данных в Spark, создание DataFrame и базовые операции: преобразования и действия, JOIN и UNION, кеширование и контрольные точки; встроенные стандартные функции, оконные функции в PySpark, как собрать, запустить и автоматизировать джобу

Построите Data Lake и автоматизируете загрузку и обработку данных в нём

Потоковая обработка данных
Kafka
Spark Streaming
Потоковая обработка с Kafka и Spark Streaming

Что такое потоковая обработка, брокеры сообщений, Kafka, работа с Kafka через kcat, знакомство со Spark Structured Streaming — базовые операции, как создать Spark Streaming Application

Настройка потока данных

Сбор требований к стримингу, проектирование стриминговой системы, изучение данных в Kafka, преобразование потоковых данных, дедупликация, подключение к PostgreSQL и изучение данных, проектирование выходного сообщения, отправка сообщения в Kafka

Разработаете систему для обработки данных в режиме реального времени

Облачные технологии
Redis
NoSQL
Kubectl
Kubernetes
PostgreSQL
Yandex Cloud
Облачные технологии Yandex Cloud

Что такое облачные технологии, подключение к Yandex Cloud, внутри Yandex Cloud, сбор требований к DWH

Подготовка и изучение источников

Redis — key-value хранилище, как его поднять в Yandex Cloud, изучение данных в Redis, как поднять Kafka в Yandex Cloud, изучение данных в Kafka

Создание окружения сервисов

Микросервисная архитектура, контейнеризация в Docker, создание образов контейнеров, репозиторий для образов, знакомство с Kubernetes, возможности утилиты kubectl, подготовка манифестов, пакетный менеджер Helm, разбор шаблона сервиса

Написание первого сервиса

Как поднять PostgreSQL в Yandex Cloud, структура баз данных, подготовка контейнера, планирование и написание логики первого сервиса

Знакомство с DataLens

Подключение источников данных, создание диаграмм, создание дашборда

Разработаете инфраструктуру для хранения и обработки данных в облаке

Итоговый проект или пет-проект

В конце курса у вас будет выбор: выполнить ещё один учебный проект или реализовать пет-проект. В первом случае нужно выбрать бизнес-задачу и разработать архитектуру данных с использованием всех изученных инструментов. Во втором случае вы сможете воплотить в жизнь и защитить личный проект. Идея для пет-проекта может быть любой, главное — чтобы она была связана с инженерией данных и при её реализации использовались все изученные инструменты. Что бы вы ни выбрали, вас поддержат наставники и ревьюеры, а получившийся кейс украсит ваше портфолио.