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 редко требуется писать сложные алгоритмы, но важно понимать, как оценивать эффективность кода: