ДОравботка структуры readme для лучшей читабильности

This commit is contained in:
2025-12-10 17:33:55 +03:00
parent fe4bb4606f
commit c63084be09
2 changed files with 143 additions and 8 deletions
+25 -8
View File
@@ -4,6 +4,8 @@
Добро пожаловать в учебный стенд для изучения основ Data Engineering! Этот проект поможет вам освоить ключевые инструменты современных data pipeline: **Airflow** для оркестрации, **pandas/CSV** для подготовки данных, **Postgres** с демобазой **bookings** как источник и **Greenplum** как аналитическую базу данных.
Если вы проходите стенд как серию лабораторных, смотрите также файл с заданиями: `educational-tasks.md`.
## 🎯 Что вы узнаете
- Как настроить локальный стек данных с помощью Docker
@@ -90,6 +92,8 @@ make up
## 🛠️ Подробная настройка (для уверенных пользователей)
> Если вы впервые запускаете стенд, этот раздел можно пролистать и вернуться к нему позже.
### Установка Make (опционально)
Для удобства работы с проектом рекомендуем установить `make`:
@@ -232,6 +236,8 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
## 🔍 Продвинутые темы
> Этот раздел не обязателен при первом прохождении стенда; к нему удобно вернуться, когда базовый CSV‑pipeline уже понятен.
### Архитектура pipeline
**Поток данных в DAG `csv_to_greenplum`:**
@@ -252,6 +258,8 @@ docker compose -f docker-compose.yml exec bookings-db bash -lc 'PGPASSWORD="$POS
### Пример DAG с SQL-скриптами (bookings → stg)
> Если вы ещё не дошли до части про bookings и слои DWH, этот подраздел можно пропустить на первом чтении.
В репозитории есть учебный DAG `bookings_to_gp_stage`, который показывает «канонический» способ работы с SQL в Airflow:
- подключение к БД через Airflow Connections (`bookings_db`, `greenplum_conn`);
@@ -284,6 +292,8 @@ load_bookings_to_stg = PostgresOperator(
## 🧩 Подключение к базам через DBeaver
> Необязательный раздел: нужен только если вы хотите смотреть данные через DBeaver. Для базовых заданий достаточно `make gp-psql`.
Ниже — краткая инструкция, как подключиться к Greenplum и демо-БД bookings из DBeaver. Перед этим убедитесь, что стенд запущен:
- `cp .env.example .env` (если ещё не делали)
@@ -347,16 +357,23 @@ load_bookings_to_stg = PostgresOperator(
## 📁 Структура проекта
```
├── docker-compose.yml # Описание всех сервисов
├── .env.example # Шаблон настроек
├── Makefile # Удобные команды для работы
├── docker-compose.yml # Описание всех сервисов
├── .env.example # Шаблон настроек
├── Makefile # Удобные команды для работы
├── README.md # Обзор стенда
├── TESTING.md # Пошаговый план проверки
├── educational-tasks.md # Учебные задания для менти
├── airflow/
│ └── dags/ # Файлы workflow (DAG)
│ └── dags/ # Файлы workflow (DAG)
│ ├── csv_to_greenplum.py
── data_quality_greenplum.py
├── bookings/ # Скрипты и вспомогательные файлы для демобазы bookings в Postgres
── sql/
└── ddl_gp.sql # Создание таблицы в Greenplum
── data_quality_greenplum.py
│ └── bookings_to_gp_stage.py
── bookings/ # Скрипты и файлы для демобазы bookings в Postgres
├── sql/
│ └── ddl_gp.sql # Общий DDL для Greenplum (подключает stg/src-скрипты)
├── docs/ # Дополнительные документы (архитектура, bookings/STG, PXF)
├── tests/ # Автоматические тесты (pytest)
└── pxf/ # Конфигурация и файлы для PXF
```
---