docs(readme): доработан роадмап — новые секции, исправлены ссылки, упрощено оглавление

- Зачем:
  - убраны мёртвые и архивные ссылки на чужой форк (HalltapeRoadmapDE), наполнены пустые секции, добавлены недостающие темы
- Что:
  - оглавление упрощено до H1/H2, убран self-link
  - исправлен casing GreenPlum → Greenplum
  - убраны 4 архивные ссылки на HalltapeRoadmapDE (Greenplum, DWH, Spark, dbt)
  - добавлена подсекция venv перед Jupyter Lab в формате буллет-группы
  - NiFi и Kafka объединены в секцию «Streaming (NiFi + Kafka)» с единым стендом nifi-kafka-postgres-lab
  - добавлена preview-секция «Lakehouse (Spark, Iceberg, Trino)» с русскоязычным видео и стендом mini-lakehouse-lab
  - секция dbt наполнена: quickstart, перевод документации, практика с jaffle-shop
  - обновлены вводный текст и критерии прохождения блока «Расширенные навыки»
- Проверка:
  - визуально проверить рендеринг якорей оглавления в GitHub

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 22:04:45 +03:00
co-authored by Claude Opus 4.6
parent e78d5a1a35
commit 515fa6a5de
+35 -63
View File
@@ -3,7 +3,7 @@
Этот роадмап — конспект моих подходов к обучению Data Engineering. Этот роадмап — конспект моих подходов к обучению Data Engineering.
Он подойдёт тем, кто хочет: Он подойдёт тем, кто хочет:
- системно войти в профессию с нуля или близкого к нулю уровня; - системно войти в профессию с нуля или близкого к нулю уровня;
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, GreenPlum); - закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, Greenplum);
- подготовиться к собеседованиям и первым рабочим задачам. - подготовиться к собеседованиям и первым рабочим задачам.
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства. Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
@@ -11,50 +11,12 @@
## Оглавление ## Оглавление
- [О роадмапе](#о-роадмапе) - [Основные знания](#основные-знания) — Git, SQL, Python, методологии, Docker
- [Оглавление](#оглавление) - [Практика и инструменты](#практика-и-инструменты) — Airflow, Greenplum, курсовая работа
- [Основные знания](#основные-знания) - [Карьера и менторство](#карьера-и-менторство) — резюме, собеседования, испытательный срок
- [Git и базовые инструменты](#git-и-базовые-инструменты) - [Расширенные навыки](#расширенные-навыки) — ClickHouse, Streaming, Lakehouse, dbt
- [База по Git](#база-по-git)
- [Основы Markdown](#основы-markdown)
- [Базы данных: SQL и моделирование данных](#базы-данных-sql-и-моделирование-данных)
- [База по SQL](#база-по-sql)
- [Повышение знаний SQL](#повышение-знаний-sql)
- [Моделирование данных](#моделирование-данных)
- [Python](#python)
- [Методологии разработки](#методологии-разработки)
- [1. Основы и сравнение подходов](#1-основы-и-сравнение-подходов)
- [2. Agile: Философия гибкости](#2-agile-философия-гибкости)
- [3. Scrum (Скрам)](#3-scrum-скрам)
- [4. Kanban (Канбан)](#4-kanban-канбан)
- [Практика: Как это выглядит в жизни](#практика-как-это-выглядит-в-жизни)
- [1. Jira (Мировой стандарт)](#1-jira-мировой-стандарт)
- [2. Yandex Tracker (Российский стандарт)](#2-yandex-tracker-российский-стандарт)
- [Технические навыки](#технические-навыки)
- [Продвинутый Git](#продвинутый-git)
- [Docker](#docker)
- [Запись встреч](#запись-встреч)
- [Практика и инструменты](#практика-и-инструменты)
- [Airflow](#airflow)
- [Greenplum](#greenplum)
- [Фундаментальная теория](#фундаментальная-теория)
- [Знакомство с Greenplum](#знакомство-с-greenplum)
- [Курсовая работа](#курсовая-работа)
- [Понятие сложности алгоритмов](#понятие-сложности-алгоритмов)
- [Карьера и менторство](#карьера-и-менторство)
- [Менторство по этому роадмапу](#менторство-по-этому-роадмапу)
- [Подготовка к собеседованиям](#подготовка-к-собеседованиям)
- [Помощь в подготовке резюме](#помощь-в-подготовке-резюме)
- [Навыки поиска работы с HH и Habr карьера](#навыки-поиска-работы-с-hh-и-habr-карьера)
- [Помощь с прохождением испытательного срока](#помощь-с-прохождением-испытательного-срока)
- [Расширенные навыки](#расширенные-навыки)
- [ClickHouse](#clickhouse)
- [NiFi](#nifi)
- [Kafka](#kafka)
- [dbt](#dbt)
- [Софт скиллы](#софт-скиллы) - [Софт скиллы](#софт-скиллы)
- [Дополнительные материалы](#дополнительные-материалы) - [Дополнительные материалы](#дополнительные-материалы)
- [Записи ОМ](#записи-ом)
Рекомендуемый способ использования: Рекомендуемый способ использования:
- двигаться по разделам последовательно, не перепрыгивая через базу; - двигаться по разделам последовательно, не перепрыгивая через базу;
@@ -116,7 +78,7 @@ SQL и моделирование данных специально идут р
- Глава 9 - Транзакции - Глава 9 - Транзакции
- Глава 10 - Повышение производительности + ДЗ - Глава 10 - Повышение производительности + ДЗ
Вопросы оптимизации запросов хорошо описаны в курсе [QPT](https://postgrespro.ru/education/courses/QPT) от Postgres Pro. Полученные навыки применимы для работы в том числе с GreenPlum, и частично, другими БД. Вопросы оптимизации запросов хорошо описаны в курсе [QPT](https://postgrespro.ru/education/courses/QPT) от Postgres Pro. Полученные навыки применимы для работы в том числе с Greenplum, и частично, другими БД.
На момент написания, видеолекции были доступны только для старой версии Postgres 13, но ее вполне достаточно. На момент написания, видеолекции были доступны только для старой версии Postgres 13, но ее вполне достаточно.
### Моделирование данных ### Моделирование данных
@@ -144,7 +106,6 @@ SQL и моделирование данных специально идут р
- [Гибкие методологии проектирования Data Vault и Anchor Modeling | Евгений Ермаков | karpov.courses](https://www.youtube.com/watch?v=fNGIOb8SJvU) - [Гибкие методологии проектирования Data Vault и Anchor Modeling | Евгений Ермаков | karpov.courses](https://www.youtube.com/watch?v=fNGIOb8SJvU)
- Лекция в рамках курса по DWH: именно [«Основы Data Vault, создаем первую модель»](https://www.youtube.com/watch?v=65b99XCuiR4) — хороший формат: теория + пример. - Лекция в рамках курса по DWH: именно [«Основы Data Vault, создаем первую модель»](https://www.youtube.com/watch?v=65b99XCuiR4) — хороший формат: теория + пример.
- Доклад - практический пример: [Денис Лукьянов — Data Vault 2.0. Когда внедрять, проблемы применения при построении DWH на Greenplum](https://www.youtube.com/watch?v=oGwQbeP5iss) - Доклад - практический пример: [Денис Лукьянов — Data Vault 2.0. Когда внедрять, проблемы применения при построении DWH на Greenplum](https://www.youtube.com/watch?v=oGwQbeP5iss)
- Краткая теория про [DWH](https://halltape.github.io/HalltapeRoadmapDE/DWH/) - повторим еще раз, в другом изложении
- Хорошее общее введение в модели данных дано в статье и докладе от Yandex: [Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса](https://habr.com/ru/companies/yandex/articles/557140/) - Хорошее общее введение в модели данных дано в статье и докладе от Yandex: [Как мы внедрили свою модель хранения данных — highly Normalized hybrid Model. Доклад Яндекса](https://habr.com/ru/companies/yandex/articles/557140/)
**Когда блок «Базы данных» считаем пройденным:** **Когда блок «Базы данных» считаем пройденным:**
@@ -170,6 +131,9 @@ SQL и моделирование данных специально идут р
- Введение в [ООП](https://metanit.com/python/tutorial/7.1.php) - Введение в [ООП](https://metanit.com/python/tutorial/7.1.php)
- [Яндекс Учебник: «Объектная модель Python: классы, поля и методы»](https://education.yandex.ru/handbook/python/article/obuektnaya-model-python-klassy-polya-i-metody) - [Яндекс Учебник: «Объектная модель Python: классы, поля и методы»](https://education.yandex.ru/handbook/python/article/obuektnaya-model-python-klassy-polya-i-metody)
- [Real Python: OOP in Python (tutorial)](https://realpython.com/python3-object-oriented-programming/) - [Real Python: OOP in Python (tutorial)](https://realpython.com/python3-object-oriented-programming/)
- Виртуальные окружения (venv) — изолируют зависимости проекта; настройте перед установкой Jupyter и библиотек
- [Habr: как настроить виртуальное окружение](https://habr.com/ru/articles/889670/)
- [SkillFactory: Виртуальные окружения в Python](https://blog.skillfactory.ru/venv-virtualnoe-okruzhenie-v-python/)
- Jupyter Lab - Jupyter Lab
- [Блог Практикума: «Что такое Jupyter Notebook: как установить и открыть»](https://practicum.yandex.ru/blog/chto-takoe-jupyter-notebook/) - [Блог Практикума: «Что такое Jupyter Notebook: как установить и открыть»](https://practicum.yandex.ru/blog/chto-takoe-jupyter-notebook/)
- Готовая реализация Jupyter Lab, включающая в себя Spark, в Docker: https://github.com/dementev-dev/jupyter-spark-docker - Готовая реализация Jupyter Lab, включающая в себя Spark, в Docker: https://github.com/dementev-dev/jupyter-spark-docker
@@ -180,7 +144,6 @@ SQL и моделирование данных специально идут р
- [Хабр (RUVDS): «Моя шпаргалка по pandas»](https://habr.com/ru/companies/ruvds/articles/494720/) - [Хабр (RUVDS): «Моя шпаргалка по pandas»](https://habr.com/ru/companies/ruvds/articles/494720/)
- [Tproger: «Наглядная шпаргалка по операциям с DataFrame»](https://tproger.ru/articles/pandas-data-wrangling-cheatsheet) - [Tproger: «Наглядная шпаргалка по операциям с DataFrame»](https://tproger.ru/articles/pandas-data-wrangling-cheatsheet)
Полезно, но дороговато и не обязательно: хорошее комбо SQL + Python — ["Поколение Python": профи + ООП + SQL Stepik](https://stepik.org/course/233341/promo?search=7181036958) Полезно, но дороговато и не обязательно: хорошее комбо SQL + Python — ["Поколение Python": профи + ООП + SQL Stepik](https://stepik.org/course/233341/promo?search=7181036958)
Цель — уверенно решать простые задачи на Python в формате live-coding; дальше эти навыки пригодятся для создания DAG Airflow. Цель — уверенно решать простые задачи на Python в формате live-coding; дальше эти навыки пригодятся для создания DAG Airflow.
@@ -310,7 +273,6 @@ Apache Airflow — инструмент для оркестрации ETL-про
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте. Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.
- Простое введение: [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/) - [Визуализатор распределения Greenplum](https://gpskew.rzvde.pro/)
**Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком: **Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком:
@@ -412,41 +374,51 @@ Apache Airflow — инструмент для оркестрации ETL-про
Мы кратко знакомимся с: Мы кратко знакомимся с:
- **Apache NiFi** и **Kafka** — инструментами для построения потоковых и интеграционных пайплайнов; - **Streaming** (NiFi + Kafka) — инструментами для построения потоковых и интеграционных пайплайнов;
- **ClickHouse** — колоночной СУБД для высоконагруженной аналитики; - **ClickHouse** — колоночной СУБД для высоконагруженной аналитики;
- **Lakehouse** (Spark, Iceberg, Trino) — архитектурой, построенной на разделении compute и storage;
- **dbt** — подходом к трансформации данных как кода. - **dbt** — подходом к трансформации данных как кода.
Практика ограничивается минимальным рабочим примером (например, запуск в Docker, простой пайплайн или SQL-модель). Практика ограничивается минимальным рабочим примером (запуск в Docker, простой пайплайн или SQL-модель).
Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте. Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте.
## ClickHouse ## ClickHouse
Бесплатный курс https://yandex.cloud/ru/training/clickhouse Бесплатный курс https://yandex.cloud/ru/training/clickhouse
Платный курс [ClickHouse для аналитика – Stepik](https://stepik.org/course/100210/promo?search=6551441002) Платный курс [ClickHouse для аналитика – Stepik](https://stepik.org/course/100210/promo?search=6551441002)
## NiFi ## Streaming (NiFi + Kafka)
Плейлист [Apache NiFi с нуля за 3 часа. Конструктор вместо кода - Youtube](https://youtube.com/playlist?list=PL4MpKy3QjNp_rOEEibc4Ro8UK4g8vLX6_&si=W_hidjHmBOZ_aUfS) — первые 4 видео, дальше — по желанию. NiFi — визуальный конструктор потоков данных, Kafka — распределённая очередь сообщений. Вместе они закрывают типичный сценарий: принять данные, буферизовать, доставить в хранилище.
Практика: Материалы:
- собираем отдельный стенд в Docker Compose с Postgres и NiFi; - [Apache NiFi с нуля за 3 часа (Youtube-плейлист)](https://youtube.com/playlist?list=PL4MpKy3QjNp_rOEEibc4Ro8UK4g8vLX6_&si=W_hidjHmBOZ_aUfS) — первые 4 видео, дальше — по желанию
- в NiFi настраиваем простой генератор данных. - [Лучший Гайд по Kafka для Начинающих За 1 Час (Youtube)](https://www.youtube.com/watch?v=hbseyn-CfXY)
## Kafka Практика — на стенде [nifi-kafka-postgres-lab](https://github.com/dementev-dev/nifi-kafka-postgres-lab) (Docker Compose с NiFi, Kafka и Postgres):
[Лучший Гайд по Kafka для Начинающих За 1 Час - Youtube](https://www.youtube.com/watch?v=hbseyn-CfXY) - настраиваем в NiFi простой генератор данных и поток в Postgres;
- строим поток NiFi → Kafka → NiFi → Postgres.
Практика: ## Lakehouse (Spark, Iceberg, Trino)
- расширяем предыдущий стенд, добавляя Kafka;
- строим поток данных: NiFi → Kafka; > Секция в разработке. Lakehouse — отдельное направление в DE, построенное на разделении compute и storage, открытых табличных форматах (Iceberg, Delta) и движках распределённой обработки (Spark, Trino). Этот роадмап фокусируется на классическом DWH-стеке, поэтому полноценный блок пока не готов — ниже только отправные точки для самостоятельного изучения.
- добавляем обратный поток: Kafka → NiFi → Postgres.
- [DataLearn: «Что такое Apache Spark»](https://youtu.be/Tl9YzC-dQLI) — введение в Spark с нуля, ~40 минут
- Стенд для экспериментов: [mini-lakehouse-lab](https://github.com/dementev-dev/mini-lakehouse-lab) (Spark + Iceberg + Trino + MinIO)
## dbt ## dbt
dbt (data build tool) — инструмент для трансформации данных в хранилище. dbt (data build tool) — инструмент для трансформации данных в хранилище.
Мы рассматриваем его как альтернативу «ручному» написанию сложных CTE и для понимания современного подхода к моделированию данных как кода. Мы рассматриваем его как альтернативу «ручному» написанию сложных CTE и для понимания современного подхода к моделированию данных как кода.
Материалы:
- [dbt quickstart (официальный гайд)](https://docs.getdbt.com/guides/manual-install?step=1)
- [Перевод документации dbt на русский](https://docs.getdbt.tech/)
Практика:
- Клонировать [jaffle-shop](https://github.com/dbt-labs/jaffle-shop), установить dbt-duckdb, прогнать `dbt build`, `dbt test`, `dbt docs generate && dbt docs serve` — этого достаточно, чтобы увидеть весь цикл.
**Когда блок расширенных навыков считаем пройденным:** **Когда блок расширенных навыков считаем пройденным:**
- вы можете на собеседовании кратко объяснить, когда уместны NiFi/Kafka, ClickHouse и dbt, и чем они дополняют базовый стек (Postgres, Airflow, Greenplum); - вы можете на собеседовании кратко объяснить, когда уместны Streaming (NiFi/Kafka), ClickHouse, Lakehouse-стек и dbt, и чем они дополняют базовый стек (Postgres, Airflow, Greenplum);
- понимаете типичные сценарии: потоковые интеграции и очереди (Kafka/NiFi), аналитические витрины и отчёты на ClickHouse, трансформации данных в dbt; - понимаете типичные сценарии: потоковые интеграции и очереди (NiFi + Kafka), аналитические витрины и отчёты на ClickHouse, Lakehouse-архитектура (Spark/Iceberg/Trino), трансформации данных как код (dbt);
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре. - не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
--- ---