Скачать 

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

  • Дата начала
Цена: 495 РУБ
Robot
Robot
Складчик
  • #1

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

Ссылка на картинку
Соберёшь полноценный 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 метрик + фильтры/срезы (не цирк, а реально для интервью)
  • как рассказывать историю проекта: данные → слой → витрина → графики
  • Артефакт: дашборд + “история проекта” (готовый текст для резюме/собеса)
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть скрытый контент.
Поиск по тегу:
Теги
core spark дмитрий кузьмин оркестрация
Похожие складчины
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование
  • в разделе: Программирование

Войдите или зарегистрируйтесь!

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

Регистрация

Создайте аккаунт. Это просто!

Вход

Вы уже зарегистрированы? Войдите.

Сверху