docs(docs): обновлены ссылки и основная программа роадмапа
Deploy MkDocs to VPS / deploy (push) Successful in 7s

- Зачем: восстановлен доступ к GitHub, изменились учебные стенды и требования к основной программе.
- Что: ссылки для менти возвращены на GitHub; ClickHouse, Kafka и курсовая Clickstream включены в основную программу; уточнены подготовка окружения Python, управление памятью, практика Airflow и вход в DEV1.
- Что: обновлены описание публикации через Gitea и бэклог; убрана ссылка на неподходящий курс ClickHouse.
- Проверка: строгая сборка MkDocs и проверка пробелов прошли; ссылки и задания сверены с учебными репозиториями.
This commit is contained in:
ddadmin committed 2026-09-27 15:36:07 -04:00
1 parent 242a066f42
commit 806417c1bd
6 files changed
+213 -84

No files matched your search

+152 -63
View File
@@ -4,7 +4,7 @@
Он подойдёт тем, кто хочет:
- системно войти в профессию с нуля или близкого к нулю уровня;
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, Greenplum);
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, Greenplum, Kafka, ClickHouse);
- подготовиться к собеседованиям и первым рабочим задачам.
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
@@ -13,9 +13,9 @@
### Оглавление
- [Основные знания](#основные-знания) — Linux, Git, SQL, Python, методологии, Docker
- [Практика и инструменты](#практика-и-инструменты) — Airflow, Greenplum, курсовая работа
- [Практика и инструменты](#практика-и-инструменты) - Airflow, Greenplum, Streaming, ClickHouse, две курсовые
- [Карьера и менторство](#карьера-и-менторство) — резюме, собеседования, испытательный срок
- [Расширенные навыки](#расширенные-навыки) — Streaming, ClickHouse, Lakehouse, dbt
- [Расширенные навыки](#расширенные-навыки) - Lakehouse, dbt
- [Софт скиллы](#софт-скиллы)
- [Дополнительные материалы](#дополнительные-материалы)
@@ -25,6 +25,11 @@
- выполнять практику и домашки, а не только смотреть материалы;
- возвращаться к разделам по мере появления реальных задач.
Основная программа включает две курсовые: сначала хранилище на Greenplum,
затем [Clickstream на ClickHouse](#большая-курсовая-clickstream).
Streaming и ClickHouse входят в обязательную часть подготовки к трудоустройству.
Lakehouse и dbt можно изучать после нее, под задачи и интересующие вакансии.
---
## Основные знания
@@ -85,12 +90,17 @@ SQL и моделирование данных специально идут р
#### Повышение знаний SQL
**Перед DEV1: запустите учебную базу.** Для практики рекомендую
[стенд PostgreSQL с базой bookings](https://github.com/dementev-dev/de-roadmap/tree/main/postgres-bookings).
В README стенда описаны запуск в Docker, подключение через `psql` и DBeaver.
Это наше первое знакомство с Docker: пока достаточно научиться запускать
и останавливать стенд, смотреть его статус и подключаться к базе.
Подробный [блок Docker](#docker) будет дальше.
Смотрим курс от Postgres Pro [DEV1](https://postgrespro.ru/education/courses/DEV1)
Темы - от "Введение" до "SQL" включительно, "Управление доступом", "Резервное копирование". Для лучшего усваивания материала проделываем все примеры и домашние задания из конспектов лекций.
С темой "PL/pgSQL" можно ознакомиться обзорно.
Для развития навыков инженера будет полезно лабораторные работы делать не в виртуальной машине, а в docker контейнере. Предложенный (не обязательный) вариант - в каталоге `postgres-bookings` репозитория.
Для дальнейшего закрепления материала - читаем книгу [PostgreSQL. Основы языка SQL](https://postgrespro.ru/education/books/sqlprimer)
- Глава 8 - Индексы + ДЗ
@@ -98,7 +108,7 @@ SQL и моделирование данных специально идут р
- Глава 10 - Повышение производительности + ДЗ
Вопросы оптимизации запросов хорошо описаны в курсе [QPT](https://postgrespro.ru/education/courses/QPT) от Postgres Pro. Полученные навыки применимы для работы в том числе с Greenplum, и частично, другими БД.
На момент написания, видеолекции были доступны только для старой версии Postgres 13, но ее вполне достаточно.
На странице курса выбирайте материалы и видеозаписи для PostgreSQL 16.
#### Моделирование данных
Понимание того, **как устроены данные и зачем они нужны**, — ключ к качественным ETL-процессам.
@@ -120,7 +130,9 @@ SQL и моделирование данных специально идут р
- Теория про Slowly Changing Dimensions: [SCD](dwh-modeling/SCD.md)
- (Опционально) Ральф Кимбалл — «Инструментарий хранения и анализа данных» (The Data Warehouse Toolkit) - первые 3 главы
- Практика по моделированию статусов клиента: [домашка STG → ODS → DDS → DM](dwh-modeling/Homework_Customer_Status_DDS_DM.md)
- Еще про Data Vault:
- Data Vault и Anchor Modeling изучаем обзорно, для знакомства с основными
понятиями. Глубокий разбор и самостоятельное проектирование на этом этапе
не требуются. Материалы для знакомства:
- Конспект и примеры из этого репозитория: [DataVault.md](dwh-modeling/DataVault.md)
- [DataVault за 10 минут - Youtube](https://www.youtube.com/watch?v=9oQs_wJ045I)
- Статья [«Что такое Data Vault: моделирование КХД для архитектора Big Data»](https://bigdataschool.ru/blog/what-is-data-vault/) — обзор, плюсы/минусы, контекст применения.
@@ -139,13 +151,36 @@ SQL и моделирование данных специально идут р
### Python
- Если совсем не знакомы с Python, начинаем с курса ["Поколение Python": курс для начинающих – Stepik](https://stepik.org/course/58852/info)
Если совсем не знакомы с Python, начинаем с курса ["Поколение Python": курс для начинающих - Stepik](https://stepik.org/course/58852/info).
Перед курсом для продвинутых подготовьте рабочую среду. Она пригодится для
экспериментов с кодом и домашних заданий.
- Виртуальные окружения (venv) изолируют зависимости проекта:
- [Habr: как настроить виртуальное окружение](https://habr.com/ru/articles/889670/)
- [SkillFactory: Виртуальные окружения в Python](https://blog.skillfactory.ru/venv-virtualnoe-okruzhenie-v-python/)
- [Создание venv и установка пакетов: документация Python](https://docs.python.org/3/tutorial/venv.html)
- JupyterLab позволяет выполнять код по ячейкам и сохранять пояснения рядом с результатами:
- [Блог Практикума: что такое Jupyter Notebook](https://practicum.yandex.ru/blog/chto-takoe-jupyter-notebook/)
- [Установка JupyterLab](https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)
Создайте venv, установите в него JupyterLab и запустите из этого же окружения.
В новом ноутбуке выполните несколько ячеек, сохраните `.ipynb`, перезапустите
ядро и выполните все ячейки по порядку. В Git сохраняйте ноутбуки и скрипты,
а каталог `.venv/` добавьте в `.gitignore`.
Теперь продолжаем изучать Python:
- Изучаем глубже и "оттачиваем" live coding: ["Поколение Python": курс для продвинутых – Stepik](https://stepik.org/course/68343/info)
- Продолжение "базы", спрашиваемой на собеседованиях, по Python: ["Поколение Python": курс для профессионалов](https://stepik.org/course/82541/promo). Курс очень полезный, но платный. Вместо него можно почитать "продвинутые" темы дальше.
- "Продвинутые" темы:
- [Полезные функции](https://pyneng.readthedocs.io/ru/latest/book/10_useful_functions/index.html)
- [Работа с файлами в формате CSV, JSON, YAML](https://pyneng.readthedocs.io/ru/latest/book/17_serialization/index.html)
- [Итераторы, итерируемые объекты и генераторы](https://pyneng.readthedocs.io/ru/latest/book/13_iterator_generator/index.html)
- Управление памятью (документация на английском):
- [Объекты, ссылки и изменяемость](https://docs.python.org/3/reference/datamodel.html#objects-values-and-types) - почему два имени могут указывать на один список и что происходит при его изменении.
- [Как Python управляет памятью](https://docs.python.org/3/faq/design.html#how-does-python-manage-memory) - подсчет ссылок и сборка циклов в CPython; особенности других реализаций Python.
- [Модуль gc](https://docs.python.org/3/library/gc.html) - справочник для экспериментов со сборщиком мусора. Детали поколений и порогов смотрите для своей версии Python.
- [Декораторы Python: пошаговое руководство](https://habr.com/ru/companies/otus/articles/727590/)
- Работа с датой/временем: [официальная документация по модулю datetime](https://docs.python.org/3/library/datetime.html)
- [Сложность алгоритмов. Разбор Big O](https://habr.com/ru/articles/782608/) — короткий материал, чтобы понимать O(n) vs O(n²) на собеседованиях и в коде
@@ -154,12 +189,6 @@ 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/)
- Готовый Docker-образ Jupyter Lab со Spark: [Jupyter Docker Stacks, pyspark-notebook](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-pyspark-notebook)
- Pandas
- [GeeksforGeeks: “Why Pandas is Used in Python”](https://www.geeksforgeeks.org/pandas/why-pandas-is-used-in-python/)
- [Skillbox: «Для чего нужна библиотека Pandas»](https://skillbox.ru/media/code/rabotaem-s-pandas-osnovnye-ponyatiya-i-realnye-dannye/)
@@ -173,10 +202,14 @@ SQL и моделирование данных специально идут р
**Когда блок Python считаем пройденным:**
- создаете venv, устанавливаете в него пакеты и запускаете JupyterLab; можете повторить вычисления в ноутбуке после перезапуска ядра;
- вы без подсказок пишете небольшие скрипты с циклами, функциями, обработкой ошибок и работой с коллекциями;
- умеете читать и модифицировать чужой код, в том числе с использованием pandas и DataFrame;
- уверенно проходите простой live-coding по Python для DE: прочитать CSV/JSON, отфильтровать, сгруппировать данные и посчитать агрегаты.
- можете отвечать как на простые вопросы собеседований (циклы, списки, словари), так и продвинутые (итераторы, декораторы, управление памятью, базовые понятия ООП)
- можете отвечать как на простые вопросы собеседований (циклы, списки, словари), так и продвинутые (итераторы, декораторы, базовые понятия ООП);
- на примере со списком объясняете разницу между объектом и ссылкой на него,
почему `del` одного имени не обязательно уничтожает объект и зачем CPython
нужен сборщик циклического мусора.
### Методологии разработки
@@ -283,12 +316,21 @@ Apache Airflow — инструмент для оркестрации ETL-про
Материалы:
- [Учебник по Airflow](https://git.dementev.space/ddmitry/airflow-manual)
- [Учебник по Airflow](https://github.com/dementev-dev/airflow-manual)
- [Практические задания на стенде](https://github.com/dementev-dev/airflow-manual/blob/main/airflow-docker/educational-tasks.md)
Задания выполняем параллельно с чтением учебника. Начинаем с простых DAG
и SQL, затем обрабатываем файлы, загружаем CSV в PostgreSQL и добавляем
проверки качества. Дальше расширяем ETL, разбираем ветвление, повторные
попытки и логирование. Здесь Python и SQL впервые работают вместе
в пайплайне, которым управляет Airflow.
**Когда блок Airflow считаем пройденным:**
- вы можете объяснить, что такое DAG, задачи, операторы и сенсоры, и как между ними задаются зависимости;
- на базе учебного стенда подготавливаете, отлаживаете и запускаете свои DAG'и с расписанием и несколькими шагами (например, загрузка данных и последующие трансформации);
- расширяете загрузку CSV в PostgreSQL: меняете генерацию данных, схему таблицы и загрузку новой колонки;
- добавляете свою проверку качества и убеждаетесь, что она обнаруживает подготовленную ошибку в данных;
- уверенно смотрите логи, находите место падения и понимаете, как перезапустить задачу.
### Greenplum
@@ -313,7 +355,7 @@ Apache Airflow — инструмент для оркестрации ETL-про
**Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком:
- [Бесплатный курс Yandex Cloud по Greenplum](https://yandex.cloud/ru/training/greenplum)
- Практику по курсу удобно делать на стенде [airflow-dwh-gp-lab](https://git.dementev.space/ddmitry/airflow-greenplum) — `make up` поднимает рабочий Greenplum с PXF, не нужен облачный кластер.
- Практику по курсу удобно делать на стенде [airflow-dwh-gp-lab](https://github.com/dementev-dev/airflow-greenplum) — `make up` поднимает рабочий Greenplum с PXF, не нужен облачный кластер.
- Стенд покрывает основные темы курса: типы таблиц (heap / appendonly), политики дистрибуции, сжатие, PXF, анализ планов выполнения (`EXPLAIN`).
- Единственное ограничение: cloud-специфичные темы (тема 2 курса — развёртывание в Yandex Cloud) на локальном стенде не покрыты.
@@ -324,9 +366,10 @@ Apache Airflow — инструмент для оркестрации ETL-про
- можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований.
### Курсовая работа
Курсовая работа — важный майлстоун роадмапа: ваш первый end-to-end data-проект. После неё у вас есть ключевые технические навыки для старта карьеры в Data Engineering.
Первая курсовая собирает изученное в один проект: загрузку данных из PostgreSQL,
слои хранилища в Greenplum и управление обработкой через Airflow.
Курсовая выполняется на том же стенде [airflow-dwh-gp-lab](https://git.dementev.space/ddmitry/airflow-greenplum), который вы уже использовали для практики по Greenplum.
Курсовая выполняется на том же стенде [airflow-dwh-gp-lab](https://github.com/dementev-dev/airflow-greenplum), который вы уже использовали для практики по Greenplum.
**Что внутри:**
@@ -342,6 +385,86 @@ Apache Airflow — инструмент для оркестрации ETL-про
- автоматическая проверка (валидационный DAG) проходит без ошибок;
- вы можете на собеседовании за 5–10 минут рассказать архитектуру проекта, его цели и показать ключевые части кода.
После этой работы переходим к потокам событий и ClickHouse. Они понадобятся
для [большой курсовой Clickstream](#большая-курсовая-clickstream).
### Streaming (NiFi + Kafka)
В первой курсовой мы загружали данные из базы. Теперь разберем прием потока
событий: как доставить их в хранилище и продолжить чтение после остановки
обработчика. NiFi помогает собрать поток обработки визуально, Kafka хранит
события в распределенном журнале и позволяет потребителям читать их независимо.
Материалы:
- [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)
Практика — на стенде [nifi-kafka-postgres-lab](https://github.com/dementev-dev/nifi-kafka-postgres-lab) (Docker Compose с NiFi, Kafka и Postgres):
- настраиваем в NiFi простой генератор данных и поток в Postgres;
- строим поток NiFi → Kafka → NiFi → Postgres.
**Перед большой курсовой нужно уметь:**
- объяснить связь между топиком, партицией, consumer group и offset;
- отправить сообщения в Kafka и прочитать их потребителем;
- показать на учебном потоке, откуда продолжится чтение после перезапуска,
и объяснить, почему при повторной доставке могут появиться дубли.
В [курсовой Clickstream](#большая-курсовая-clickstream) события и заказы
поступают через Kafka в ClickHouse. Вернемся к этим вопросам, когда будем
разбирать прием данных и их обработку в хранилище.
### ClickHouse
ClickHouse используем для аналитики по событиям и заказам. Здесь нужно
разобраться, как хранить данные, выбирать ключ сортировки и строить витрины.
Затем применим это в большой курсовой.
Материалы:
- Бесплатный курс [ClickHouse от Yandex Cloud](https://yandex.cloud/ru/training/clickhouse) берем за основу.
Практика:
Упражнения по самой СУБД можно выполнять локально на
[clickhouse-learning-cluster](https://github.com/dementev-dev/clickhouse-learning-cluster):
четыре узла ClickHouse в Docker Compose, репликация, шардинг и HAProxy.
Задания по облачной инфраструктуре требуют Yandex Cloud и оплаты ресурсов.
**Когда готовы переходить к курсовой:**
- создаете таблицы семейства MergeTree и объясняете выбор `ORDER BY` и `PARTITION BY`;
- различаете шардирование и репликацию, понимаете роль таблиц Distributed;
- загружаете данные, пишете аналитические запросы и можете объяснить,
как устройство таблицы влияет на чтение данных.
### Большая курсовая: Clickstream
На стенде [clickstream-data-platform](https://github.com/dementev-dev/clickstream-data-platform)
работаем с хранилищем интернет-магазина. Генератор создает события посетителей
и заказы, Kafka доставляет их в ClickHouse. Данные проходят слои STG, ODS,
DDS и DM; Airflow управляет обработкой, Superset показывает отчеты.
Часть хранилища уже работает. В заданиях вы строите свои витрины, разбираете
готовые загрузки и меняете их, сверяя результат с исходными данными.
Проверки качества и мониторинг нужны здесь для конкретных задач: заметить
потери и дубли, найти причину расхождения, проверить результат своей правки.
Начните с запуска по README репозитория, затем прочитайте
[путеводитель по стенду](https://github.com/dementev-dev/clickstream-data-platform/blob/main/docs/handbook/README.md)
и переходите к [учебным заданиям](https://github.com/dementev-dev/clickstream-data-platform/blob/main/docs/labs/README.md).
В основной программе семь ступеней: пять витрин DM, свой график в Superset,
самостоятельная нарезка сессий, изменение расчета сессий в конвейере,
проверки и обработка заказов, разбор сырых событий, мониторинг.
Факультативные расследования можно взять после основной программы.
**Когда большую курсовую считаем пройденной:**
- выполнены семь ступеней основной программы и проверки из заданий;
- пять учебных витрин проходят `homework_check`, в Superset построен свой график;
- можете проследить путь события от Kafka до отчета, объяснить свои изменения
и показать, как проверяли их корректность.
---
## Карьера и менторство
@@ -394,49 +517,12 @@ Apache Airflow — инструмент для оркестрации ETL-про
---
## Расширенные навыки
Эти темы выходят за рамки базового минимума для старта в Data Engineering, но дают более полное представление об экосистеме.
Их цель — понимать, зачем и когда используется тот или иной инструмент, а не осваивать его на уровне администратора или DevOps-инженера.
После двух курсовых можно расширить стек: попробовать обработку файлов
в Lakehouse и управление SQL-моделями через dbt. Выбирайте тему под задачи,
с которыми хотите работать.
[[к оглавлению]](#оглавление)
Мы кратко знакомимся с:
- **Streaming** (NiFi + Kafka) — инструментами для построения потоковых и интеграционных пайплайнов;
- **ClickHouse** — колоночной СУБД для высоконагруженной аналитики;
- **Lakehouse** (Spark, Iceberg, Trino) — архитектурой, построенной на разделении compute и storage;
- **dbt** — подходом к трансформации данных как кода.
Практика ограничивается минимальным рабочим примером (запуск в Docker, простой пайплайн или SQL-модель).
Этого достаточно, чтобы уверенно говорить об инструменте на собеседовании и понимать его место в архитектуре — а всё остальное при необходимости осваивается уже на проекте.
### Streaming (NiFi + Kafka)
NiFi — визуальный конструктор потоков данных, Kafka — распределённая очередь сообщений. Вместе они закрывают типичный сценарий: принять данные, буферизовать, доставить в хранилище.
Материалы:
- [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)
Практика — на стенде [nifi-kafka-postgres-lab](https://git.dementev.space/ddmitry/nifi-kafka-postgres-lab) (Docker Compose с NiFi, Kafka и Postgres):
- настраиваем в NiFi простой генератор данных и поток в Postgres;
- строим поток NiFi → Kafka → NiFi → Postgres.
Знакомство с Kafka здесь пригодится и дальше: стенд по ClickHouse в следующей секции принимает данные именно через Kafka.
### ClickHouse
ClickHouse — колоночная СУБД для аналитики на больших объёмах: миллиарды строк, агрегации за секунды. В российских компаниях это фактический стандарт для витрин, отчётности и продуктовой аналитики, поэтому на собеседованиях тема всплывает часто.
Материалы:
- Бесплатный курс [ClickHouse от Yandex Cloud](https://yandex.cloud/ru/training/clickhouse) — берём за основу, в нём много упражнений
- Платный курс [ClickHouse для аналитика – Stepik](https://stepik.org/course/100210/promo?search=6551441002)
Практика:
- Упражнения курса Яндекса можно выполнять в их облаке (с оплатой за ресурсы) или бесплатно у себя — на учебном кластере [clickhouse-learning-cluster](https://git.dementev.space/ddmitry/clickhouse-learning-cluster): 4 узла ClickHouse в Docker Compose, репликация, шардинг, балансировка через HAProxy.
- Следующий шаг — стенд [clickstream-ch-kafka-superset-demo](https://git.dementev.space/ddmitry/clickstream-ch-kafka-superset-demo), имитирующий полноценное аналитическое хранилище на ClickHouse: Kafka, Airflow, дашборды в Superset, мониторинг (Prometheus/Grafana), слои STG → ODS → DDS → DM. Внутри — собственный продвинутый курс «Кликстрим на ClickHouse» с уроками прямо на стенде.
### Lakehouse (Spark, Iceberg, Trino)
Lakehouse — архитектурный подход, который соединяет гибкость Data Lake с гарантиями классического DWH.
@@ -450,7 +536,7 @@ Lakehouse — архитектурный подход, который соеди
- Введение в тему: [«Как не утонуть в данных: выбираем между DWH, Data Lake и Lakehouse» (Habr, Arenadata)](https://habr.com/ru/companies/arenadata/articles/885722/) — что такое Lakehouse, чем он отличается от классического DWH и Data Lake и зачем появился
- [DataLearn: «Что такое Apache Spark»](https://youtu.be/Tl9YzC-dQLI) — введение в Spark с нуля, ~40 минут
Практика — курс [«Lakehouse без магии»](https://git.dementev.space/ddmitry/mini-lakehouse-lab) на стенде mini-lakehouse-lab (Spark + Iceberg + Trino + MinIO, всё локально в Docker, без облаков и регистраций):
Практика — курс [«Lakehouse без магии»](https://github.com/dementev-dev/mini-lakehouse-lab) на стенде mini-lakehouse-lab (Spark + Iceberg + Trino + MinIO, всё локально в Docker, без облаков и регистраций):
- 8 модулей на ~12–15 часов самостоятельной работы; в каждом — объяснение, демонстрация, задание и checkpoint;
- пайплайн `raw → bronze → silver` на реальном датасете NYC Taxi;
@@ -480,9 +566,12 @@ dbt (data build tool) — инструмент для трансформации
**Когда блок расширенных навыков считаем пройденным:**
- вы можете на собеседовании кратко объяснить, когда уместны Streaming (NiFi/Kafka), ClickHouse, Lakehouse-стек и dbt, и чем они дополняют базовый стек (Postgres, Airflow, Greenplum);
- понимаете типичные сценарии: потоковые интеграции и очереди (NiFi + Kafka), аналитические витрины и отчёты на ClickHouse, Lakehouse-архитектура (Spark/Iceberg/Trino), трансформации данных как код (dbt);
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
Оценивайте выбранную тему по результату практики:
- для Lakehouse можете записать таблицу через Spark, прочитать ее через Trino
и объяснить роль Iceberg, каталога и объектного хранилища;
- для dbt можете изменить SQL-модель, выполнить сборку и тесты,
посмотреть зависимости в документации проекта.
---