Открыто

Практикум по Data Engineering: сквозной ETL на Spark + Postgres + Airflow + BI [Дмитрий Кузьмин]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 23 фев 2026.

Основной список: 14 участников

  1. 23 фев 2026
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Практикум по Data Engineering: сквозной ETL на Spark + Postgres + Airflow + BI [Дмитрий Кузьмин]

    2026-02-25_043300.jpg

    Соберёшь полноценный DE-пайплайн на своём ноутбуке:
    S3-lake → Spark → DWH → Airflow → BI
    Один проект, который можно показать на собеседовании.

    Для тех, кто сильный в SQL, но на собесах упирается в “где пайплайны, инкременты, оркестрация и качество”.

    Программа:

    0. Окружение: Docker-стенд, проверка сервисов

    • поднимаем стенд docker compose up и проверяем сервисы (Spark UI, Airflow, Postgres, MinIO)
    • учимся читать логи контейнеров и находить причину “не стартует”
    • базовая настройка .env и проверка доступа по портам
    • быстрый чек-лист “диагностика стенда” (типовые поломки)
    • Артефакт: рабочий docker-compose.yml + инструкции + скрины UI сервисов
    1. RAW → STG: загрузка датасетов, идемпотентность
    • раскладываем исходные CSV по ingest_date в S3 (MinIO)
    • делаем replace-pattern/идемпотентную загрузку в STG
    • вводим контракт: схема, типы, обязательные поля
    • sanity-check запросы и первые проверки качества
    • Артефакт: структура RAW/STG + скрипты загрузки + набор sanity-check
    2. CORE: факты/измерения, event-даты, инкременты
    • проектируем CORE: факт + измерения, ключи, связи
    • event-time vs ingest-time: где что использовать и почему
    • инкрементальные обновления (SCD/апдейты по ключам где уместно)
    • базовые индексы/ограничения в Postgres под CORE
    • Артефакт: DWH-слой CORE (DDL + инкрементальные загрузки)
    3. Spark. Основы
    • первая Spark-сессия: чтение/запись, DataFrame API
    • базовые трансформации + агрегаты
    • работа через pyspark.sql и Spark SQL
    • чтение данных из S3 (MinIO) и запись parquet
    • Артефакт: первый рабочий ноутбук + mini-job чтение - трансформация - запись
    4. Витрины: денормализация, партиционирование
    • собираем marts под типовые бизнес-вопросы (продажи/заказы/доставка)
    • денормализация: что тащим в витрину и почему
    • партиционирование/кластеризация (на уровне хранения и запросов)
    • контроль “small files” и базовые правила хранения
    • Артефакт: marts-таблицы + объяснение решений (почему такой grain/партиции)
    5. Качество и SLA: дубликаты, пропуски, аномалии
    • проверки на дубликаты/пропуски/аномалии (простые, но рабочие)
    • таблица результатов DQ-check’ов (история прогонов)
    • SLA пайплайна: что меряем и как объяснять “почему отчёт не обновился”
    • стоп-кран: когда пайплайн должен падать, а когда просто предупреждать
    • Артефакт: DQ-схема + набор проверок + лог результатов
    6. Spark Batch: трансформации, партиционирование, оптимизация
    • перенос логики из ноутбука в spark-submit job (шаблон джобы)
    • explain(True): читаем план и видим узкие места
    • cache/persist, shuffle partitions, контроль skew на базовом уровне
    • запись parquet “правильно”: партиции, режимы записи, контроль файлов
    • Артефакт: 1–2 production-style Spark jobs + чек-лист оптимизаций
    7. Оркестрация (Airflow): DAG's
    • собираем DAG: зависимости, ретраи, расписание, параметры
    • разделяем задачи по слоям, делаем понятный граф
    • алерты/уведомления на падения (база)
    • дебаг Airflow: логи тасок, где ломается, как чинить
    • Артефакт: рабочий DAG + скрины графа/ранов + описание пайплайна
    8. Observability: метрики пайплайнов, алерты
    • какие метрики реально нужны (время прогонов, лаг, объёмы, ошибки)
    • как “считать здоровье”: success-rate, latency, freshness
    • алерты: когда будить, а когда не спамить
    • “почему отчёт не обновился” как диагностировать по сигналам
    • Артефакт: набор метрик + правила алертов + описание мониторинга
    9. Построение отчётов в BI
    • подключение BI к витрине, один понятный дашборд
    • 5–7 метрик + фильтры/срезы (не цирк, а реально для интервью)
    • как рассказывать историю проекта: данные → слой → витрина → графики
    • Артефакт: дашборд + “история проекта” (готовый текст для резюме/собеса)
    Цена: 30000 руб.
    Скрытая ссылка
     
    Последнее редактирование модератором: 25 фев 2026
    1 человеку нравится это.
  2. Последние события

    1. geek_boy
      geek_boy участвует.
      25 фев 2026
    2. sdv81
      sdv81 участвует.
      25 фев 2026
    3. sungridmail
      sungridmail участвует.
      25 фев 2026
    4. Татьяна_76
      Татьяна_76 участвует.
      24 фев 2026