merge(roadmap): доработки README — новые секции, исправлены ссылки, упрощено оглавление
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
Этот роадмап — конспект моих подходов к обучению Data Engineering.
|
Этот роадмап — конспект моих подходов к обучению Data Engineering.
|
||||||
Он подойдёт тем, кто хочет:
|
Он подойдёт тем, кто хочет:
|
||||||
- системно войти в профессию с нуля или близкого к нулю уровня;
|
- системно войти в профессию с нуля или близкого к нулю уровня;
|
||||||
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, GreenPlum);
|
- закрыть пробелы в базе (SQL, Git, Python, DWH, Airflow, Greenplum);
|
||||||
- подготовиться к собеседованиям и первым рабочим задачам.
|
- подготовиться к собеседованиям и первым рабочим задачам.
|
||||||
|
|
||||||
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
|
Роадмап можно проходить самостоятельно или вместе со мной в формате менторства.
|
||||||
@@ -11,51 +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)
|
|
||||||
- [Курсовая работа](#курсовая-работа)
|
|
||||||
- [Стенд в Docker Compose](#стенд-в-docker-compose)
|
|
||||||
- [Понятие сложности алгоритмов](#понятие-сложности-алгоритмов)
|
|
||||||
- [Карьера и менторство](#карьера-и-менторство)
|
|
||||||
- [Менторство по этому роадмапу](#менторство-по-этому-роадмапу)
|
|
||||||
- [Подготовка к собеседованиям](#подготовка-к-собеседованиям)
|
|
||||||
- [Помощь в подготовке резюме](#помощь-в-подготовке-резюме)
|
|
||||||
- [Навыки поиска работы с HH и Habr карьера](#навыки-поиска-работы-с-hh-и-habr-карьера)
|
|
||||||
- [Помощь с прохождением испытательного срока](#помощь-с-прохождением-испытательного-срока)
|
|
||||||
- [Расширенные навыки](#расширенные-навыки)
|
|
||||||
- [ClickHouse](#clickhouse)
|
|
||||||
- [NiFi](#nifi)
|
|
||||||
- [Kafka](#kafka)
|
|
||||||
- [dbt](#dbt)
|
|
||||||
- [Софт скиллы](#софт-скиллы)
|
- [Софт скиллы](#софт-скиллы)
|
||||||
- [Дополнительные материалы](#дополнительные-материалы)
|
- [Дополнительные материалы](#дополнительные-материалы)
|
||||||
- [Записи ОМ](#записи-ом)
|
|
||||||
|
|
||||||
Рекомендуемый способ использования:
|
Рекомендуемый способ использования:
|
||||||
- двигаться по разделам последовательно, не перепрыгивая через базу;
|
- двигаться по разделам последовательно, не перепрыгивая через базу;
|
||||||
@@ -117,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, но ее вполне достаточно.
|
||||||
|
|
||||||
### Моделирование данных
|
### Моделирование данных
|
||||||
@@ -145,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/)
|
||||||
|
|
||||||
**Когда блок «Базы данных» считаем пройденным:**
|
**Когда блок «Базы данных» считаем пройденным:**
|
||||||
@@ -171,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
|
||||||
@@ -181,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.
|
||||||
@@ -308,40 +270,41 @@ Apache Airflow — инструмент для оркестрации ETL-про
|
|||||||
- Зачем: Это объясняет, почему Greenplum устроен именно так. Без этого вы будете пытаться работать с ним как с обычным Postgres.
|
- Зачем: Это объясняет, почему Greenplum устроен именно так. Без этого вы будете пытаться работать с ним как с обычным Postgres.
|
||||||
|
|
||||||
### Знакомство с Greenplum
|
### Знакомство с Greenplum
|
||||||
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.- Простое введение: [Greenplum | Что это такое и как оно работает? - Youtube](https://www.youtube.com/watch?v=rLG9Z_HcKPY)
|
Теперь, понимая теорию, смотрим, как это реализовано в конкретном инструменте.
|
||||||
- Оно же, но текстом: https://halltape.github.io/HalltapeRoadmapDE/GREENPLUM/
|
|
||||||
|
- Простое введение: [Greenplum | Что это такое и как оно работает? - Youtube](https://www.youtube.com/watch?v=rLG9Z_HcKPY)
|
||||||
- [Визуализатор распределения Greenplum](https://gpskew.rzvde.pro/)
|
- [Визуализатор распределения Greenplum](https://gpskew.rzvde.pro/)
|
||||||
- Бесплатный, но большой учебный курс от Yandex: https://yandex.cloud/ru/training/greenplum
|
|
||||||
- [Учебный курс по Greenplum от datafinder](https://datafinder.ru/products/uchebnyy-kurs-po-greenplum) — взять только отдельные главы.
|
|
||||||
|
|
||||||
Практика:
|
**Курс Yandex по Greenplum** — основной учебный курс, рекомендуется пройти целиком:
|
||||||
- [DE Starter Kit — Airflow + Greenplum + CSV](https://github.com/dementev-dev/airflow-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 считаем пройденным:**
|
**Когда блок Greenplum считаем пройденным:**
|
||||||
- вы понимаете, как данные распределяются по сегментам, что такое skew и как его увидеть;
|
- вы понимаете, как данные распределяются по сегментам, что такое skew и как его увидеть;
|
||||||
- на базе учебного стенда (например, DE Starter Kit) можете загружать и выгружать данные в Greenplum, выполнять запросы и разбирать планы выполнения (`EXPLAIN`);
|
- на базе стенда `airflow-dwh-gp-lab` можете загружать и выгружать данные в Greenplum, выполнять запросы и разбирать планы выполнения (`EXPLAIN`);
|
||||||
- можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований.
|
- можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований.
|
||||||
|
|
||||||
## Курсовая работа
|
## Курсовая работа
|
||||||
К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект.
|
Курсовая работа — важный майлстоун роадмапа: ваш первый end-to-end data-проект. После неё у вас есть ключевые технические навыки для старта карьеры в Data Engineering.
|
||||||
|
|
||||||
### Стенд в Docker Compose
|
Курсовая выполняется на том же стенде [airflow-dwh-gp-lab](https://github.com/dementev-dev/airflow-greenplum), который вы уже использовали для практики по Greenplum.
|
||||||
- Apache Airflow — оркестратор;
|
|
||||||
- источник данных — TelecomX (или аналогичный открытый датасет);
|
|
||||||
- Greenplum — основное хранилище;
|
|
||||||
- вспомогательный Postgres (по желанию);
|
|
||||||
- ETL-скрипты и DAG'и;
|
|
||||||
- исходные коды всего — в отдельном Git-репозитории.
|
|
||||||
|
|
||||||
В качестве альтернативы файловому источнику можно использовать генератор данных для демо-базы `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 по проекту;
|
- все загрузки реализованы, DWH заполняется полностью (STG → ODS → DDS → DM);
|
||||||
- стенд поднимается локально, DAG'и успешно прогоняются на тестовых данных от загрузки сырья до витрин;
|
- автоматическая проверка (валидационный DAG) проходит без ошибок;
|
||||||
- вы можете на собеседовании за 5–10 минут рассказать архитектуру курсового проекта, его цели и показать ключевые части кода.
|
- вы можете на собеседовании за 5–10 минут рассказать архитектуру проекта, его цели и показать ключевые части кода.
|
||||||
|
|
||||||
## Понятие сложности алгоритмов
|
## Понятие сложности алгоритмов
|
||||||
В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода:
|
В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода:
|
||||||
@@ -411,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);
|
||||||
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
|
- не боитесь увидеть эти инструменты в описании вакансии и можете поддержать содержательный разговор об их месте в архитектуре.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user