docs(readme): реорганизована секция Greenplum и курсовой работы
- Зачем: - упрощение роадмапа: курсовая и практика Greenplum теперь используют один стенд. - Что: - курс Yandex по Greenplum выделен как основной. - практика по Greenplum привязана к стенду airflow-dwh-gp-lab. - курсовая работа переписана под использование того же стенда. - добавлено описание эталонного DWH и автоматической проверки. - удалена секция "Стенд в Docker Compose" из оглавления. - Проверка: - git diff HEAD~1 README.md.
This commit is contained in:
@@ -40,7 +40,6 @@
|
||||
- [Фундаментальная теория](#фундаментальная-теория)
|
||||
- [Знакомство с Greenplum](#знакомство-с-greenplum)
|
||||
- [Курсовая работа](#курсовая-работа)
|
||||
- [Стенд в Docker Compose](#стенд-в-docker-compose)
|
||||
- [Понятие сложности алгоритмов](#понятие-сложности-алгоритмов)
|
||||
- [Карьера и менторство](#карьера-и-менторство)
|
||||
- [Менторство по этому роадмапу](#менторство-по-этому-роадмапу)
|
||||
@@ -308,40 +307,42 @@ Apache Airflow — инструмент для оркестрации ETL-про
|
||||
- Зачем: Это объясняет, почему Greenplum устроен именно так. Без этого вы будете пытаться работать с ним как с обычным Postgres.
|
||||
|
||||
### Знакомство с Greenplum
|
||||
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.- Простое введение: [Greenplum | Что это такое и как оно работает? - Youtube](https://www.youtube.com/watch?v=rLG9Z_HcKPY)
|
||||
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.
|
||||
|
||||
- Простое введение: [Greenplum | Что это такое и как оно работает? - Youtube](https://www.youtube.com/watch?v=rLG9Z_HcKPY)
|
||||
- Оно же, но текстом: https://halltape.github.io/HalltapeRoadmapDE/GREENPLUM/
|
||||
- [Визуализатор распределения Greenplum](https://gpskew.rzvde.pro/)
|
||||
- Бесплатный, но большой учебный курс от Yandex: https://yandex.cloud/ru/training/greenplum
|
||||
- [Учебный курс по Greenplum от datafinder](https://datafinder.ru/products/uchebnyy-kurs-po-greenplum) — взять только отдельные главы.
|
||||
|
||||
Практика:
|
||||
- [DE Starter Kit — Airflow + Greenplum + CSV](https://github.com/dementev-dev/airflow-greenplum)
|
||||
**Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком:
|
||||
- [Бесплатный курс Yandex Cloud по Greenplum](https://yandex.cloud/ru/training/greenplum)
|
||||
- Практику по курсу удобно делать на стенде [airflow-dwh-gp-lab](https://github.com/dementev-dev/airflow-greenplum) — `make up` поднимает рабочий Greenplum с PXF, не нужен облачный кластер.
|
||||
- Стенд покрывает основные темы курса: типы таблиц (heap / appendonly), политики дистрибуции, сжатие, PXF, анализ планов выполнения (`EXPLAIN`).
|
||||
- Единственное ограничение: cloud-специфичные темы (тема 2 курса — развёртывание в Yandex Cloud) на локальном стенде не покрыты.
|
||||
|
||||
Сложные варианты с виртуалками — только если менти сильно захочет, в базовый путь не включаем.
|
||||
Дополнительно:
|
||||
- [Учебный курс по Greenplum от datafinder](https://datafinder.ru/products/uchebnyy-kurs-po-greenplum) — отдельные главы для углубления.
|
||||
|
||||
**Когда блок Greenplum считаем пройденным:**
|
||||
- вы понимаете, как данные распределяются по сегментам, что такое skew и как его увидеть;
|
||||
- на базе учебного стенда (например, DE Starter Kit) можете загружать и выгружать данные в Greenplum, выполнять запросы и разбирать планы выполнения (`EXPLAIN`);
|
||||
- на базе стенда `airflow-dwh-gp-lab` можете загружать и выгружать данные в Greenplum, выполнять запросы и разбирать планы выполнения (`EXPLAIN`);
|
||||
- можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований.
|
||||
|
||||
## Курсовая работа
|
||||
К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект.
|
||||
Курсовая работа — важный майлстоун роадмапа: ваш первый end-to-end data-проект. После неё у вас есть ключевые технические навыки для старта карьеры в Data Engineering.
|
||||
|
||||
### Стенд в Docker Compose
|
||||
- Apache Airflow — оркестратор;
|
||||
- источник данных — TelecomX (или аналогичный открытый датасет);
|
||||
- Greenplum — основное хранилище;
|
||||
- вспомогательный Postgres (по желанию);
|
||||
- ETL-скрипты и DAG'и;
|
||||
- исходные коды всего — в отдельном Git-репозитории.
|
||||
Курсовая выполняется на том же стенде [airflow-dwh-gp-lab](https://github.com/dementev-dev/airflow-greenplum), который вы уже использовали для практики по Greenplum.
|
||||
|
||||
В качестве альтернативы файловому источнику можно использовать генератор данных для демо-базы `bookings` от Postgres Pro: https://github.com/postgrespro/demodb.
|
||||
Его удобнее всего встроить в стенд DE Starter Kit (Airflow + Greenplum) как отдельный сервис Postgres с регулярно генерируемыми данными и уже оттуда забирать их в Greenplum (в том числе через PXF, если хочется усложнить архитектуру).
|
||||
**Что внутри:**
|
||||
- Стенд содержит DWH с реализованным эталонным срезом (STG → ODS → DDS → DM) — это ваш образец для подражания.
|
||||
- Задача — довести DWH до полного, реализовав недостающие загрузки по аналогии с эталоном.
|
||||
- Есть готовый план от аналитика (ТЗ с маппингами и бизнес-правилами) — не нужно придумывать, что делать.
|
||||
- Встроенная автоматическая проверка реализации поможет убедиться в корректности до проверки ментором.
|
||||
- Ветка `main` — рабочая (с заготовками для реализации), ветка `solution` — эталон для сверки.
|
||||
|
||||
**Когда блок курсовой работы считаем пройденным:**
|
||||
- у вас есть отдельный репозиторий с docker-compose, DAG'ами Airflow, SQL-скриптами и README по проекту;
|
||||
- стенд поднимается локально, DAG'и успешно прогоняются на тестовых данных от загрузки сырья до витрин;
|
||||
- вы можете на собеседовании за 5–10 минут рассказать архитектуру курсового проекта, его цели и показать ключевые части кода.
|
||||
- все загрузки реализованы, DWH заполняется полностью (STG → ODS → DDS → DM);
|
||||
- автоматическая проверка (валидационный DAG) проходит без ошибок;
|
||||
- вы можете на собеседовании за 5–10 минут рассказать архитектуру проекта, его цели и показать ключевые части кода.
|
||||
|
||||
## Понятие сложности алгоритмов
|
||||
В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода:
|
||||
|
||||
Reference in New Issue
Block a user