- Зачем:
- необходимо упростить витрину dm.route_performance с 4-JOIN до 1-JOIN;
- привести измерение в соответствие с принципом Кимбалла («самодостаточное измерение»).
- Что:
- добавлена задача в TODO.md с описанием цели денормализации;
- создан детальный план реализации в docs/internal/dim_routes_denormalization_plan.md.
- Проверка:
- просмотр файлов TODO.md и docs/internal/dim_routes_denormalization_plan.md.
- Зачем:
- необходимо визуализировать выбор типа хранения (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` (полный цикл от очистки до витрины).
- Зачем:
- зафиксировать новые приоритеты по тестированию ETL и стабильности источника.
- Что:
- добавлены два новых пункта в backlog мейнтейнеров в TODO.md.
- уточнён статус файла, чтобы он отражал наличие открытых задач.
- Проверка:
- git diff --cached -- TODO.md.