- Зачем:
- необходимо визуализировать выбор типа хранения (Heap vs Append-Only) для учебных целей.
- автоматизировать проверку всей цепочки DWH для исключения ручных ошибок.
- сделать процесс отладки прозрачным и наглядным через стандартные инструменты Airflow.
- Что:
- внедрена клауза WITH (appendonly=...) во все DDL; ODS-справочники переведены на AO Row и TRUNCATE+INSERT.
- создан скрипт scripts/e2e_etl.sh для полного прогона ETL (DDL + 2 дня данных) через REST API.
- исправлены баги типизации (INTEGER[]), именования полей (amount, passenger_id) и удалены фантомные колонки (contact_data).
- обновлен e2e-etl-test-protocol.md: добавлен раздел по отладке, чтению логов и перезапуску задач через API.
- исправлены pytest-контракты под новую логику загрузки.
- Проверка:
- успешный прогон `make e2e-smoke` (полный цикл от очистки до витрины).
- Зачем:
- предыдущий фикс ломал make bookings-init из-за невалидного SQL в Makefile.
- Что:
- удалены SQL-блоки постобработки reference-данных и cume_dist из bookings-init.
- удалён случайно добавленный gitlink _vendor/demodb.
- удалён SET LOCAL application_name из generate_next_day.sql.
- Проверка:
- uv run make fmt.
- uv run make test.
- make bookings-init.
- make bookings-generate-day.
- Зачем:
- генератор demodb зависал при jobs=1 из-за самоблокировки busy()
- get_passenger_name() попадал в бесконечный цикл из-за NULL в cume_dist
- Что:
- добавлен SET LOCAL application_name = 'psql' после вызова generate/continue
- добавлена загрузка firstnames.dat и lastnames.dat в Makefile
- добавлено заполнение cume_dist для firstnames, lastnames и airport_to_prob
- Проверка:
- make bookings-generate-day выполняется успешно, создаётся ~45K бронирований