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:
@@ -3,7 +3,7 @@
|
||||
Этот роадмап — конспект моих подходов к обучению Data Engineering.
|
||||
Он подойдёт тем, кто хочет:
|
||||
- системно войти в профессию с нуля или близкого к нулю уровня;
|
||||
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, GreenPlum);
|
||||
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, Greenplum);
|
||||
- подготовиться к собеседованиям и первым рабочим задачам.
|
||||
|
||||
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
|
||||
@@ -11,50 +11,12 @@
|
||||
|
||||
## Оглавление
|
||||
|
||||
- [О роадмапе](#о-роадмапе)
|
||||
- [Оглавление](#оглавление)
|
||||
- [Основные знания](#основные-знания)
|
||||
- [Git и базовые инструменты](#git-и-базовые-инструменты)
|
||||
- [База по 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)
|
||||
- [Основные знания](#основные-знания) — Git, SQL, Python, методологии, Docker
|
||||
- [Практика и инструменты](#практика-и-инструменты) — Airflow, Greenplum, курсовая работа
|
||||
- [Карьера и менторство](#карьера-и-менторство) — резюме, собеседования, испытательный срок
|
||||
- [Расширенные навыки](#расширенные-навыки) — ClickHouse, Streaming, Lakehouse, dbt
|
||||
- [Софт скиллы](#софт-скиллы)
|
||||
- [Дополнительные материалы](#дополнительные-материалы)
|
||||
- [Записи ОМ](#записи-ом)
|
||||
|
||||
Рекомендуемый способ использования:
|
||||
- двигаться по разделам последовательно, не перепрыгивая через базу;
|
||||
@@ -116,7 +78,7 @@ SQL и моделирование данных специально идут р
|
||||
- Глава 9 - Транзакции
|
||||
- Глава 10 - Повышение производительности + ДЗ
|
||||
|
||||
Вопросы оптимизации запросов хорошо описаны в курсе [QPT](https://postgrespro.ru/education/courses/QPT) от Postgres Pro. Полученные навыки применимы для работы в том числе с GreenPlum, и частично, другими БД.
|
||||
Вопросы оптимизации запросов хорошо описаны в курсе [QPT](https://postgrespro.ru/education/courses/QPT) от Postgres Pro. Полученные навыки применимы для работы в том числе с Greenplum, и частично, другими БД.
|
||||
На момент написания, видеолекции были доступны только для старой версии Postgres 13, но ее вполне достаточно.
|
||||
|
||||
### Моделирование данных
|
||||
@@ -144,7 +106,6 @@ SQL и моделирование данных специально идут р
|
||||
- [Гибкие методологии проектирования Data Vault и Anchor Modeling | Евгений Ермаков | karpov.courses](https://www.youtube.com/watch?v=fNGIOb8SJvU)
|
||||
- Лекция в рамках курса по DWH: именно [«Основы Data Vault, создаем первую модель»](https://www.youtube.com/watch?v=65b99XCuiR4) — хороший формат: теория + пример.
|
||||
- Доклад - практический пример: [Денис Лукьянов — 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/)
|
||||
|
||||
**Когда блок «Базы данных» считаем пройденным:**
|
||||
@@ -170,6 +131,9 @@ SQL и моделирование данных специально идут р
|
||||
- Введение в [ООП](https://metanit.com/python/tutorial/7.1.php)
|
||||
- [Яндекс Учебник: «Объектная модель 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/)
|
||||
- Виртуальные окружения (venv) — изолируют зависимости проекта; настройте перед установкой Jupyter и библиотек
|
||||
- [Habr: как настроить виртуальное окружение](https://habr.com/ru/articles/889670/)
|
||||
- [SkillFactory: Виртуальные окружения в Python](https://blog.skillfactory.ru/venv-virtualnoe-okruzhenie-v-python/)
|
||||
- Jupyter Lab
|
||||
- [Блог Практикума: «Что такое Jupyter Notebook: как установить и открыть»](https://practicum.yandex.ru/blog/chto-takoe-jupyter-notebook/)
|
||||
- Готовая реализация 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/)
|
||||
- [Tproger: «Наглядная шпаргалка по операциям с DataFrame»](https://tproger.ru/articles/pandas-data-wrangling-cheatsheet)
|
||||
|
||||
|
||||
Полезно, но дороговато и не обязательно: хорошее комбо SQL + Python — ["Поколение Python": профи + ООП + SQL – Stepik](https://stepik.org/course/233341/promo?search=7181036958)
|
||||
|
||||
Цель — уверенно решать простые задачи на Python в формате live-coding; дальше эти навыки пригодятся для создания DAG Airflow.
|
||||
@@ -310,7 +273,6 @@ Apache Airflow — инструмент для оркестрации ETL-про
|
||||
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.
|
||||
|
||||
- Простое введение: [Greenplum | Что это такое и как оно работает? - Youtube](https://www.youtube.com/watch?v=rLG9Z_HcKPY)
|
||||
- Оно же, но текстом: https://halltape.github.io/HalltapeRoadmapDE/GREENPLUM/
|
||||
- [Визуализатор распределения Greenplum](https://gpskew.rzvde.pro/)
|
||||
|
||||
**Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком:
|
||||
@@ -412,41 +374,51 @@ Apache Airflow — инструмент для оркестрации ETL-про
|
||||
|
||||
Мы кратко знакомимся с:
|
||||
|
||||
- **Apache NiFi** и **Kafka** — инструментами для построения потоковых и интеграционных пайплайнов;
|
||||
- **Streaming** (NiFi + Kafka) — инструментами для построения потоковых и интеграционных пайплайнов;
|
||||
- **ClickHouse** — колоночной СУБД для высоконагруженной аналитики;
|
||||
- **Lakehouse** (Spark, Iceberg, Trino) — архитектурой, построенной на разделении compute и storage;
|
||||
- **dbt** — подходом к трансформации данных как кода.
|
||||
|
||||
Практика ограничивается минимальным рабочим примером (например, запуск в Docker, простой пайплайн или SQL-модель).
|
||||
|
||||
Практика ограничивается минимальным рабочим примером (запуск в Docker, простой пайплайн или SQL-модель).
|
||||
Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте.
|
||||
|
||||
## ClickHouse
|
||||
Бесплатный курс https://yandex.cloud/ru/training/clickhouse
|
||||
Платный курс [ClickHouse для аналитика – Stepik](https://stepik.org/course/100210/promo?search=6551441002)
|
||||
|
||||
## NiFi
|
||||
Плейлист [Apache NiFi с нуля за 3 часа. Конструктор вместо кода - Youtube](https://youtube.com/playlist?list=PL4MpKy3QjNp_rOEEibc4Ro8UK4g8vLX6_&si=W_hidjHmBOZ_aUfS) — первые 4 видео, дальше — по желанию.
|
||||
## Streaming (NiFi + Kafka)
|
||||
NiFi — визуальный конструктор потоков данных, Kafka — распределённая очередь сообщений. Вместе они закрывают типичный сценарий: принять данные, буферизовать, доставить в хранилище.
|
||||
|
||||
Практика:
|
||||
- собираем отдельный стенд в Docker Compose с Postgres и NiFi;
|
||||
- в NiFi настраиваем простой генератор данных.
|
||||
Материалы:
|
||||
- [Apache NiFi с нуля за 3 часа (Youtube-плейлист)](https://youtube.com/playlist?list=PL4MpKy3QjNp_rOEEibc4Ro8UK4g8vLX6_&si=W_hidjHmBOZ_aUfS) — первые 4 видео, дальше — по желанию
|
||||
- [Лучший Гайд по Kafka для Начинающих За 1 Час (Youtube)](https://www.youtube.com/watch?v=hbseyn-CfXY)
|
||||
|
||||
## Kafka
|
||||
[Лучший Гайд по Kafka для Начинающих За 1 Час - Youtube](https://www.youtube.com/watch?v=hbseyn-CfXY)
|
||||
Практика — на стенде [nifi-kafka-postgres-lab](https://github.com/dementev-dev/nifi-kafka-postgres-lab) (Docker Compose с NiFi, Kafka и Postgres):
|
||||
- настраиваем в NiFi простой генератор данных и поток в Postgres;
|
||||
- строим поток NiFi → Kafka → NiFi → Postgres.
|
||||
|
||||
Практика:
|
||||
- расширяем предыдущий стенд, добавляя Kafka;
|
||||
- строим поток данных: NiFi → Kafka;
|
||||
- добавляем обратный поток: Kafka → NiFi → Postgres.
|
||||
## Lakehouse (Spark, Iceberg, Trino)
|
||||
|
||||
> Секция в разработке. Lakehouse — отдельное направление в DE, построенное на разделении compute и storage, открытых табличных форматах (Iceberg, Delta) и движках распределённой обработки (Spark, Trino). Этот роадмап фокусируется на классическом DWH-стеке, поэтому полноценный блок пока не готов — ниже только отправные точки для самостоятельного изучения.
|
||||
|
||||
- [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 (data build tool) — инструмент для трансформации данных в хранилище.
|
||||
|
||||
Мы рассматриваем его как альтернативу «ручному» написанию сложных 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);
|
||||
- понимаете типичные сценарии: потоковые интеграции и очереди (Kafka/NiFi), аналитические витрины и отчёты на ClickHouse, трансформации данных в dbt;
|
||||
- вы можете на собеседовании кратко объяснить, когда уместны Streaming (NiFi/Kafka), ClickHouse, Lakehouse-стек и dbt, и чем они дополняют базовый стек (Postgres, Airflow, Greenplum);
|
||||
- понимаете типичные сценарии: потоковые интеграции и очереди (NiFi + Kafka), аналитические витрины и отчёты на ClickHouse, Lakehouse-архитектура (Spark/Iceberg/Trino), трансформации данных как код (dbt);
|
||||
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user