From 04573efda18bbb2c01ab02c7487f69908afbcb04 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Sun, 23 Nov 2025 18:16:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=20=D0=BA=D1=83=D1=80=D1=81=D0=BE=D0=B2=D1=83=D1=8E?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3a3c0d9..c1e4533 100644 --- a/README.md +++ b/README.md @@ -217,12 +217,23 @@ Apache Airflow — инструмент для оркестрации ETL-про - можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований. ## Курсовая работа +К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект. + ### Стенд в Docker Compose -- Apache Airflow - - Источник данных - TelecomX -- GreenPlum -- ETL -- Исходные коды всего - в Git +- Apache Airflow — оркестратор; + - источник данных — TelecomX (или аналогичный открытый датасет); +- Greenplum — основное хранилище; +- вспомогательный Postgres (по желанию); +- ETL-скрипты и DAG'и; +- исходные коды всего — в отдельном Git-репозитории. + +В качестве альтернативы файловому источнику можно использовать генератор данных для демо-базы `bookings` от Postgres Pro: https://github.com/postgrespro/demodb. +Его удобнее всего встроить в стенд DE Starter Kit (Airflow + Greenplum) как отдельный сервис Postgres с регулярно генерируемыми данными и уже оттуда забирать их в Greenplum (в том числе через PXF, если хочется усложнить архитектуру). + +**Когда блок курсовой работы считаем пройденным:** +- у вас есть отдельный репозиторий с docker-compose, DAG'ами Airflow, SQL-скриптами и README по проекту; +- стенд поднимается локально, DAG'и успешно прогоняются на тестовых данных от загрузки сырья до витрин; +- вы можете на собеседовании за 5–10 минут рассказать архитектуру курсового проекта, его цели и показать ключевые части кода. ## Понятие сложности алгоритмов В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода: