сгенерирована bookings db
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Учебный стенд: ETL из Postgres в Greenplum с оркестрацией в Airflow.
|
||||
|
||||
Добро пожаловать в учебный стенд для изучения основ Data Engineering! Этот проект поможет вам освоить ключевые инструменты современных data pipeline: **Airflow** для оркестрации, **pandas/CSV** для подготовки данных и **Greenplum** как аналитическую базу данных.
|
||||
Добро пожаловать в учебный стенд для изучения основ Data Engineering! Этот проект поможет вам освоить ключевые инструменты современных data pipeline: **Airflow** для оркестрации, **pandas/CSV** для подготовки данных, **Postgres** с демобазой **bookings** как источник и **Greenplum** как аналитическую базу данных.
|
||||
|
||||
## 🎯 Что вы узнаете
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
- Как загружать данные в Greenplum пакетами и избегать дублей
|
||||
- Как проверять качество данных в автоматизированных pipeline
|
||||
- Основы проектирования ETL/ELT процессов
|
||||
- Как работать с демо-БД bookings в Postgres как источником для будущего DWH
|
||||
|
||||
## 👩🎓 Для студентов (10‑минутный чек‑лист)
|
||||
|
||||
@@ -161,6 +162,7 @@ uv run black --check airflow tests
|
||||
- **Greenplum** — аналитическая база данных для хранения и анализа данных
|
||||
- **Airflow** — оркестратор workflow и задач
|
||||
- **Postgres** — база метаданных для Airflow
|
||||
- **Postgres (bookings)** — отдельная демо-БД bookings (источник данных для будущего DWH в Greenplum)
|
||||
- **pandas** — библиотека для генерации и анализа данных в формате CSV
|
||||
|
||||
### Готовые DAG (workflow)
|
||||
@@ -175,6 +177,9 @@ make down # Остановить и удалить данные
|
||||
make airflow-init # Инициализировать Airflow
|
||||
make ddl-gp # Применить DDL к Greenplum
|
||||
make gp-psql # Подключиться к Greenplum через psql
|
||||
make bookings-init # Установить демобазу bookings в Postgres
|
||||
make bookings-generate-day # Добавить ещё один день данных в bookings
|
||||
make bookings-psql # Подключиться к демобазе bookings (БД demo)
|
||||
|
||||
# Проверка данных
|
||||
make logs # Следить за логами Airflow
|
||||
@@ -192,6 +197,13 @@ make logs # Следить за логами Airflow
|
||||
- `GP_DB` — база данных (по умолчанию: gpadmin)
|
||||
- `GP_PORT` — порт (по умолчанию: 5432)
|
||||
|
||||
### Демо-БД bookings (Postgres)
|
||||
- `BOOKINGS_DB_USER` — пользователь Postgres для демобазы (по умолчанию: bookings)
|
||||
- `BOOKINGS_DB_PASSWORD` — пароль пользователя (по умолчанию: bookings)
|
||||
- `BOOKINGS_DB_NAME` — база данных, из которой запускается установка генератора (по умолчанию: bookings)
|
||||
- `BOOKINGS_DB_PORT` — внешний порт для подключения к контейнеру bookings-db (по умолчанию: 5434)
|
||||
- `BOOKINGS_START_DATE` — начальная дата модельного времени для первой генерации данных (по умолчанию: 2017-01-01)
|
||||
|
||||
### CSV pipeline
|
||||
- `CSV_DIR` — путь к каталогу с CSV внутри контейнеров Airflow (по умолчанию: `/opt/airflow/data`)
|
||||
- `CSV_ROWS` — количество строк, генерируемых DAG (по умолчанию: 1000)
|
||||
@@ -246,13 +258,14 @@ make logs # Следить за логами Airflow
|
||||
```
|
||||
├── docker-compose.yml # Описание всех сервисов
|
||||
├── .env.example # Шаблон настроек
|
||||
├── Makefile # Удобные команды для работы
|
||||
├── Makefile # Удобные команды для работы
|
||||
├── airflow/
|
||||
│ └── dags/ # Файлы workflow (DAG)
|
||||
│ └── dags/ # Файлы workflow (DAG)
|
||||
│ ├── csv_to_greenplum.py
|
||||
│ └── data_quality_greenplum.py
|
||||
├── bookings/ # Скрипты и вспомогательные файлы для демобазы bookings в Postgres
|
||||
└── sql/
|
||||
└── ddl_gp.sql # Создание таблицы в Greenplum
|
||||
└── ddl_gp.sql # Создание таблицы в Greenplum
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user