О чём курс

Data Engineer. 20-й поток — курс о задачах дата-инженера: от обработки данных до проектирования хранилища и создания BI-дашборда с ответами на вопросы бизнес-аналитиков.

Как устроен курс

Курс длится 10 недель и включает 30 занятий, 10 лабораторных работ и видеозаписи занятий с тайм-метками. Указанная нагрузка — 10–15 часов в неделю; в зависимости от начального уровня участие может занимать около 20 часов в неделю.

Лабораторные работы приближены к задачам дата-инженеров и выполняются в рабочей инфраструктуре. За два месяца вы выполните 10 практических заданий с разными инструментами. На второй неделе научитесь разворачивать Apache Kafka, отправлять и обрабатывать сообщения, а также познакомитесь с написанием пайплайнов на Apache Airflow.

На занятиях преподаватели-практики показывают инструменты и фреймворки, которые используются в лабах. Kafka, Airflow, ClickHouse, Spark, Redis и Docker изучают на подробных занятиях и применяют в лабораторных работах. Также в курс входят Apache Flink, Grafana, dbt, Kubernetes и другие инструменты; по некоторым предусмотрены дополнительные задания.

В ходе курса участники анализируют полученные знания и заполняют карту компетенций, знакомятся с альтернативами популярным инструментам и собирают дополнительные ресурсы. Полученные знания можно применять в работе и собственных проектах.

Презентации, Jupyter-ноутбуки, лабы и мануалы размещают в закрытом репозитории GitHub. Обучение проходит на русском языке с упором на международные технологии, включая Spark, Scala, SQL и архитектуру дата-платформ.

Кому адресован курс

  • Аналитикам данных, которые хотят лучше понимать цикл работы с данными и инфраструктуру обработки, находить общий язык с дата-инженерами или познакомиться с инженерной ролью.
  • Бэкенд-разработчикам с инженерным опытом, в том числе в нагруженных проектах, которые хотят узнать о задачах дата-инженеров и разработке высоконагруженных дата-приложений или сменить область работы.
  • Техлидам и менеджерам команд дата-аналитиков, которым нужно ориентироваться в инструментах и технологиях, определять направление развития команды, оценивать сроки и понимать требования бизнеса. Курс также позволяет освежить знания о современных инструментах и практиках DE.
  • Практикующим дата-инженерам, которые хотят структурировать знания и познакомиться с инструментами и подходами.

Авторы курса рассчитывают, что после обучения вы сможете работать дата-инженером и развиваться в профессии. Обучение рассчитано также на тех, кто переехал или планирует карьеру в другой стране; в исходном описании упомянуты рынки СНГ, Европы и Израиля и глобальные IT-компании.

Рекомендуемые знания

  • Python: базовый синтаксис, циклы, условные операторы, функции, чтение и запись файлов. Это основной язык курса; он понадобится для Spark и Airflow.
  • Основы Linux: вход на удалённый сервер по SSH, настройка авторизации по SSH-ключу, команды для перемещения по директориям, создания и редактирования файлов и выход из vim. Командная строка понадобится для работы с кластером.
  • SQL: язык пригодится для скриптов SparkSQL при работе с Apache Spark и небольших запросов к ClickHouse в нескольких лабах.

Что учесть перед обучением

Курс включает инженерные практики и не рассчитан на обучение ML-моделей. Занятия можно смотреть без выполнения лаб, но авторы считают, что такой формат существенно уменьшает ценность участия. Почти во всех лабораторных работах нужно писать код и редактировать конфигурации на машинах. При высокой нагрузке в даты курса авторы советуют учитывать время, необходимое для занятий.

Сертификат об окончании курса Data Engineer с отличием

Авторы

Игорь Мосягин — ментор программы, Data Consultant в shrimpsizemoose AB.

Другие авторы

  • Дмитрий Андреев — координатор, ведущий инженер по работе с инфраструктурой данных, Райффайзенбанк.
  • Максим Тарасов — координатор, Lead R&D Engineer, White Wave Media.
  • Николай Марков — Data Platform Lead, Altenar.
  • Сергей Гришаев — Senior Data Engineer, Wildberries.
  • Егор Матешук — технический директор, ГПМ Дата.
  • Александр Зайцев — CTO, Altinity.
  • Валерия Дымбицкая — разработчик, Upgini.
  • Екатерина Островская — руководитель направления развития бизнес хранилища данных, Райффайзенбанк.
  • Андрей Кучеров — TechLead DE, Beeline.
  • Андрей Серебрянский — Lead Developer, Яндекс.

Старт — весной 2027 года.

Программа обучения

  • Лабораторные работы
  • Темы занятий: Apache Kafka, DWH, Airflow, ClickHouse, Hadoop, Spark, Docker, Ansible, Kubernetes, Spark Streaming, мониторинг Linux-инфраструктуры, форматы хранения данных, CI/CD, Redis, базы данных и хранилища, параллелизм в Python, Flink, NiFi, dbt, Small Data и карта развития дата-инженера
  • Лабораторные работы:
    • Лаба 1. Подготовка инфраструктуры
      • Вы настроите собственную ноду в облаке, которая станет вашим учебным стендом для всей программы – так вы разберетесь, как настроить необходимые доступы для следующих лаб
      • Вы прокачаете базовые практики DevOps и познакомитесь с компонентами дата-инфраструктуры
    • Лаба 2. Batch-обработка
      • Вы организуете пакетную обработку данных в хранилище: получите данные из Kafka с помощью landing-схемы в ClickHouse, а затем, используя Airflow, будете считать агрегаты и перекладывать данные внутри ClickHouse
      • Вы напишете свой DAG для обработки и научитесь использовать консоль для управления этими инструментами
      • Здесь понадобятся базовые знания Python и отсутствие страха работы с командной строкой
    • Лаба 3. Потоковая обработка данных
      • Так как под "потоковой обработкой" часто имеют ввиду "батч-обработку просто с очень маленькими батчами", то эта лаба будет опираться на предыдущую с добавлением новых инструментов
      • Здесь также заложена вариативность используемых инструментов, и у вас будет возможность познакомиться с несколькими решениями реализации потоковой обработки в зависимости от технических условий задачи
    • Лаба 4. Data-сервис
      • Вам предстоит написать свой небольшой сервис на Python (мы покажем как) и добавить две системы для дашбордов: одну с бизнес-метриками и одну для операционных задач
      • Мы разберёмся, в чём разница, и на каких технологиях это делается – примерим на себя шляпу инженера разработки аналитики
    • Лаба 5. Сервис персонализации
      • Вам предстоит использовать очень грязный источник для дополнительного обогащения данных о событиях пользователей e-commerce портала
      • Вы создадите витрину для маркетинговой аналитики по результатам прошедшей распродажи и изрядно повозитесь с расчётом агрегатов
    • Лаба 6. Контейнеризация и CI/CD
      • Ты реализуешь версионирование своего проекта: создашь и настроишь окружение для автоматической сборки и публикации своих пайплайнов в облако
      • Научишься основам управления версиями, автоматизации развёртывания и познакомишься с инструментами для управления контейнерами
    • Лаба 7. dbt
      • С помощью инструмента dbt соберёте аналитическую витрину в ClickHouse на базе данных о поведении пользователей
      • Закрепите работу с источниками и генерацию моделей данных в аналитическом хранилище
    • Лаба 8. Хранилище для BI-дашборда
      • Эта лаба отличается более открытым техзаданием и позволяет составить впечатление о том, как может выглядеть ваша работа при коммуникации с людьми, далёкими от мира обработки данных
      • У вас будет постоянно пополняющийся внешний источник данных, для которого нужно спроектировать хранилище и реализовать BI-дашборд с ответами на вопросы бизнес-аналитиков
  • Темы занятий:
    • Тема 1. Apache Kafka:
      • Краткая история развития Kafka
      • Ключевые концепции и зачем она может вообще быть нужна
      • Топики, publisher/subscriber модель, внутренние компоненты
      • Инструменты и библиотеки для работы с Kafka
      • Демо
    • Тема 2. DWH:
      • OLAP MPP DB: определение, цели, особенности
      • Распространенные решения
      • Архитектура OLAP MPP DB на примере Vertica
      • Демонстрация работы: таблицы, проекции, запросы
      • Data warehouse: общие сведения и методологии
    • Тема 3. Airflow:
      • Зачем, что и как можно автоматизировать
      • Компоненты Airflow которые надо знать, чтобы сделать на нём что-нибудь
      • Как написать свой DAG и что это такое
      • Куда и как развивается проект
      • Чем можно заменить Airflow и на что обращать внимание при сравнении
      • Демо, лайвкодинг
    • Тема 4. ClickHouse:
      • Что такое колоночные базы данных и зачем они нужны
      • Дизайн ClickHouse
      • Оптимизация схемы для производительности
      • Загрузка JSON в ClickHouse
      • ClickHouse и Kafka
    • Тема 5. Hadoop:
      • Как хранить и обрабатывать данные
      • Что является большими данными, а что - нет
      • Какие средства обработки и хранения данных есть, и как они работают
    • Тема 6. Spark:
      • Общее устройство и преимущества Spark
      • Три уровня API к данным. DataFrame. Как создавать, читать, смотреть и писать данные с HDFS и других источников (в т.ч. PostgreSQL). Схема датафрейма
      • Способы обращения к колонкам
      • Оптимизации при чтении. Push-down filter
      • Ленивое выполнение. Трансформации и действия
      • Очистка данных. Встроенные и пользовательские функции. Агрегационные функции
      • Union и join – отдельные моменты
      • Кэширование и контрольные точки
      • Shuffle и Broadcast
      • Немного про модель памяти
    • Тема 7. Docker. Ansible. Kubernetes:
      • Пишем свой Dockerfile
      • Как запускать контейнеры из командной строки
      • Пара слов о Docker Compose
      • Зачем нужен Kubernetes
      • Играем в локальный кластер
      • Настройка сети и прочие шалости
      • Хранение данных в Kubernetes
    • Тема 8. Spark Streaming:
      • Structured Streaming
      • Rate Streaming
      • File Streaming
      • Kafka Streaming
      • Stateful Streaming
      • Окна: дубликаты и watermark'и, агрегаты
      • Join: static и stream
    • Тема 9. Мониторинг Linux-инфраструктуры:
      • Зачем дата-инженерам траблшутинг
      • Диагностируем проблемы из консоли
      • Как руками анализировать состояние CPU, RAM, дисковой и сетевой подсистемы
      • Системные вызовы и низкий уровень анализа
      • Обзор существующих комплексных решений для мониторинга и работа с ними
    • Тема 10. Форматы хранения данных:
      • Txt
      • SequenceFile
      • Avro
      • Protobuf
      • ORC
      • Parquet
    • Тема 11. CI/CD:
      • Что такое DevOps и MLOps?
      • Пара слов о методологиях разработки программного обеспечения
      • Управление зависимостями Python-проекта
      • Репозитории для всего сразу и одновременно
      • Аргументы и конфиги
      • Работа с пакетами для Python
      • Как выглядит CI/CD на GitlabCI и Jenkins
      • Пара слов об управлении конфигурацией через Ansible
    • Тема 12. Redis:
      • Какие бывают различия между NoSQL и SQL
      • Как использовать redis как горячее хранилище
      • Как использовать redis для ускорения расчётов
      • Когда стоит и когда не стоит использовать redis
      • Демо
    • Тема 13. Введение в базы данных. Хранилища и методологии:
      • Реляционная модель и PostgeSQL
      • Structured Query Language
      • ACID и транзакции
      • Моделирование данных
      • Индексы и оптимизации
      • Greenplum
    • Тема 14. Параллелизм в Python:
      • Как устроены потоки в операционных системах
      • Зачем в питоне GIL и как он работает
      • В чем разница между параллельностью, асинхронностью и конкурентностью
      • Пара слов о микросервисах на Python
      • Асинхронная работа со внешними хранилищами
    • Тема 15. Flink:
      • Scala: основы и базовый синтаксис
      • Apache Flink: описание и сравнение со Spark Streaming
      • Flink API: источники и приемники, операторы, event time vs processing time
      • Практические примеры
      • Внутреннее устройство Flink
    • Тема 16. NiFi:
      • Что такое NiFi
      • Controller Services
      • Список доступных процессоров
      • Flow File Details
      • Объединение в Process Group
      • Статусы процессоров
      • Список всех шаблонов
      • Процессор SplitJson
      • Convert JSONToSQL
      • PutSQL
      • One registry
      • Registry & Git
      • Variables & Parameter Contexts
      • Кластерный режим – архитектура
      • MiNiFi
    • Тема 17. dbt:
      • Что такое dbt и какие задачи решает
      • Основные термины, особенности и фичи инструмента
      • Как запустить dbt с любой БД
      • Демо (посмотрим, как всё просто работает)
      • Документирование и тестирование данных из коробки
      • Как запустить dbt в продуктиве
      • Новые возможности с Python-моделями
    • Тема 18. Small Data:
      • Снова о том, что такое Big Data
      • Причины популярности инструментов анализа данных
      • На какие старые подходы стоит обратить внимание
      • Почему Developer Experience снова оказывается важен
      • Какие технологии посмотреть и что попробовать для хранилищ небольших данных
    • Тема 19. Карта развития дата-инженера:
      • Куда развиваться
      • Направления и задачи
Складчина создана 4 ноября 2026 г.

Теги курса

Инструменты

Другие материалы автора 3

ИМ Игорь Мосягин Все материалы
52 452 ₽ 134 400 ₽