- Зачем: - исправление критических ошибок P0 (гонка HWM, ошибки в SQL CTE, непоследовательный lineage). - использование временных таблиц делает код более читаемым для студентов и производительным для Greenplum. - Что: - в sql/ods/ (bookings, tickets, segments, boarding_passes, flights) выборка дельты вынесена в CREATE TEMP TABLE. - HWM теперь вычисляется один раз, устраняя гонку между UPDATE и INSERT. - во всех стейтментах используется оригинальный batch_id из STG для _load_id. - поле _load_ts в ODS теперь берется из STG (load_dttm), что делает HWM-сравнение корректным. - Проверка: - визуальный аудит SQL-логики.
Документация
Этот каталог содержит дополнительные материалы к учебному стенду.
Быстрый путь (для менти)
- Быстрый старт и команды
- Учебные задания
- План тестирования и проверки
- Главный учебный DAG: bookings → stg
- Учебный DAG: stg -> ods
- Учебный DAG: ods -> dds
Технические детали (опционально)
- Как устроен Docker-стенд (образы, Connections, переменные окружения)
- Единые конвенции нейминга DWH (служебные поля и SCD)
- PXF в этом проекте (проектная реализация)
- Дизайн stg для bookings (черновик)
- Дизайн ods для bookings (черновик)
- Дизайн dds для bookings (черновик)
- Про время/UTC в bookings (черновик)