Сейчас ищут:

👨🏻‍💻 КОДИНГ Практикум по Data Engineering: сквозной ETL на Spark + Postgres + Airflow + BI (Дмитрий Кузьмин)

Moderator

Модератор
29 Янв 2026
5,178
3
38
3398763231.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 метрик + фильтры/срезы (не цирк, а реально для интервью)

  • как рассказывать историю проекта: данные → слой → витрина → графики

  • Артефакт: дашборд + “история проекта” (готовый текст для резюме/собеса)

👉 По поводу приобретения курса пишите в telegram - @dolinakursov_bot или на почту mail@dolinakursov.ru
 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.