Практикум по Data Engineering:
сквозной ETL на Spark + Postgres + Airflow + BI
Соберёте мини-DWH и реальный ETL-поток: от сырых CSV в RAW до витрины и отчёта в BI.

Работа идёт в приватном Git-репозитории и локально в Docker — как в боевом проекте, а не в «песочнице в браузере».
Что Вы сделаете в этом практикуме
Соберёте мини-кластер и DWH
  • Развернёте Docker-стенд: Spark Master + 2 Worker’а + Postgres + JupyterLab.
  • Настроите общий docker-compose.yml и разберётесь, что за что отвечает.
  • Поймёте, как выглядит живой стенд дата-инженера на Вашем ноутбуке.
Построите сквозной ETL-поток
  • Разложите датасет по data/raw/olist/.../ingest_date=YYYY-MM-DD
  • Настроите загрузку RAW → STG (идемпотентный паттерн «replace по ingest_date»)
  • В следующих модулях: STG → CORE → MARTS через SQL и Spark.
Подключите оркестрацию в Airflow
  • Оформите шаги загрузки в DAG’и: raw→stg, stg→core, core→marts
  • Разнесёте задачи по расписанию, добавите зависимости и базовые алерты.
Соберёте витрину и отчёт в BI
  • Сконструируете витрину продаж/заказов под типовые аналитические вопросы.
  • Подадите её в BI-инструмент и соберёте простой, но честный дашборд.
  • Сможете упаковать проект в портфолио: описание архитектуры, скрины, ссылки на репозиторий.
Инструментарий
Всё разворачивается локально в Docker, код вы качаете из приватного Git-репозитория.
  • Docker + docker compose
    Развёртывание окружения на Вашей машине. Один docker compose up — и весь стек готов к работе.
  • Spark 3.5 (PySpark)
    Основной вычислительный движок. Трансформации, агрегаты, подготовка слоёв core и marts.
  • PostgreSQL 15
    STG / CORE слой DWH. Здесь живут загрузки из RAW, бизнес-таблицы и витрины до ClickHouse/BI.
  • Airflow
    Оркестрация пайплайнов raw → stg → core → marts. Расписания, зависимости, базовые алерты.
  • JupyterLab
    Рабочее место: эксперименты в PySpark, SQL-чек-коды, небольшие проверки качества данных.
  • BI
    Финальный дашборд по витрине. Можно показать на собеседовании, что Вы делали ETL целиком, а не только SELECT’ы.
Дорожная карта модулей
Модули выходят поэтапно. Вы получаете доступ ко всему, что уже готово, и ко всем обновлениям.
Модуль 0: Окружение: Docker-стенд, проверка сервисов
Модуль 1: RAW → STG: загрузка датасетов, идемпотентность
8 декабря 2025
8 декабря 2025
Модуль 2: Моделирование CORE: факты/измерения, event-даты, инкременты
22 декабря 2025
22 декабря 2025
Модуль 3: Витрины: денормализация, партиционирование
5 января 2026
5 января 2026
Модуль 4: Качество и SLA: дубликаты, пропуски, аномалии
19 января 2026
19 января 2026
Модуль 5: Spark Batch: трансформации, партиционирование, оптимизации
2 февраля 2026
2 февраля 2026
Модуль 6: Оркестрация (Airflow): DAG raw→stg→core→marts
16 февраля 2026
16 февраля 2026
Модуль 7: Streaming: мини-стрим заказов, чек-пойнты
2 марта 2026
2 марта 2026
Модуль 8: Observability: метрики пайплайнов, алерты
16 марта 2026
16 марта 2026
Модуль 9: SQL-оптимизация: планы, индексы, анти-паттерны
На старте беты полностью готовы Модуль 0 и Модуль 1 (окружение и RAW → STG).
Дальше модули будут выкатываться последовательно — с учётом Вашей обратной связи: что понятно, что хочется усложнить, какие паттерны добавить.
Что получает участник закрытой беты
Полный доступ ко всем материалам
К текущим модулям (0 и 1) и ко всем последующим — сразу после выхода.
Обновления репозитория и текстов входят в участие.
Личную поддержку по шагам
Я лично отвечаю в чате по структуре проекта, SQL-запросам, загрузкам, ошибкам Docker/Spark/Postgres. Не массовый поток вопросов, а точечный разбор.
Цена 8 000 ₽ вместо 20 000 ₽
Участие в бете с поддержкой по цене на 60% ниже плановой.
Дальше практикум будет стоить 20 000 ₽ для нового набора.
Готовый проект в портфолио
По итогу у Вас будет мини-DWH, рабочий репозиторий, диаграмма слоёв и дашборд в BI — всё, что можно упаковать в «Production-like» кейс в резюме.
Что я ожидаю взамен
Честную обратную связь по модулям
Где было понятно, где пришлось гуглить, какие шаги стоит упростить или, наоборот, усложнить до уровня middle+.
Короткие комментарии по опыту
Что понравилось, что ломалось, какие формулировки/скрипты стоит переписать, чтобы следующий поток шёл легче.
1–2 отзыва по итогам прохождения
Небольшой текстовый отзыв + согласие на публикацию (с именем или анонимно — по Вашему выбору).
Формат обучения
Без созвонов и видео-марафонов.
Вы спокойно проходите практикум в своём темпе, я помогаю в чате.
Всё локально, через приватный репозиторий
Вы получаете доступ к приватному Git-репо, клонируете его себе и разворачиваете окружение в Docker. Код и данные — у Вас на машине; никакого шаринга с чужими студентами и общими ноутбуками.
Пошаговые текстовые модули + ноутбуки
Каждый модуль — это подробное текстовое объяснение (README) + SQL/скрипты + Jupyter-ноутбуки. Можно читать, экспериментировать, возвращаться к шагам, не перематывая видео.
Поддержка в чате
Вы задаёте вопросы по Docker, Spark, Postgres, Airflow, SQL и архитектуре.
Я помогаю разобраться с падениями контейнеров, ошибками в запросах и нелетающими пайплайнами.
Темп — Ваш, но с ориентиром по срокам
Рекомендуемый темп — около 6–8 часов в неделю. Для беты я даю ориентировочные дедлайны по модулям, чтобы у Вас был ритм и ощущение «волны», но без жёстких штрафов.
Фокус на реальном результате
Цель не в том, чтобы «посмотреть курс», а в том, чтобы у Вас на ноутбуке работал мини-DWH и ETL-поток. В финале у Вас будет что положить в портфолио и разбирать на собеседовании.
Для кого этот практикум
Практика для тех, кто хочет не только писать запросы, но и собирать полноценный ETL-поток.
  • Junior / Middle Data Engineer
    Если Вы уже пишете SQL, трогали Python и хотите закрыть пробелы по слоям данных, Spark и оркестрации. Практикум даёт «сквозной» кейс, который можно показать как production-like опыт.
  • Аналитик, который хочет в Data Engineering
    Вы уверенно чувствуете себя в SQL, но пока работали только с витринами/таблицами. Здесь Вы увидите, как эти витрины рождаются: от RAW до отчёта в BI.
  • Инженер, у которого «некуда положить Spark»
    Если Вы давно хотите потрогать Spark, но в компании нет кластера, — практикум даёт готовый стенд в Docker и сценарий, где Spark используется по делу, а не ради галочки.
FAQ
Часто задаваемые вопросы