Раздел про курсовую работу

This commit is contained in:
2025-11-23 18:16:18 +03:00
parent e53fa0b9d4
commit 04573efda1
+16 -5
View File
@@ -217,12 +217,23 @@ Apache Airflow — инструмент для оркестрации ETL-про
- можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований. - можете объяснить, в чём практическая разница между MPP-хранилищем и одиночным Postgres на уровне типичных задач DE и собеседований.
## Курсовая работа ## Курсовая работа
К финалу роадмапа мы собираем небольшую end-to-end курсовую работу — свой первый «боеподобный» data-проект.
### Стенд в Docker Compose ### Стенд в Docker Compose
- Apache Airflow - Apache Airflow — оркестратор;
- Источник данных - TelecomX - источник данных TelecomX (или аналогичный открытый датасет);
- GreenPlum - Greenplum — основное хранилище;
- ETL - вспомогательный Postgres (по желанию);
- Исходные коды всего - в Git - 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 редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода: В Data Engineering редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода: