- Зачем:
- источник хранит мультиязычные названия как JSON ({"en": "...", "ru": "..."}),
- для упрощения downstream-логики (DDS/DM) нужны чистые строки на одном языке.
- Что:
- добавлен парсинг JSON с извлечением поля 'ru' в sql/ods/airports_load.sql
(airport_name, city, country).
- добавлен парсинг JSON с извлечением поля 'ru' в sql/ods/airplanes_load.sql
(model).
- обновлена документация docs/internal/bookings_ods_design.md с примечаниями
о нормализации.
- обновлены тестовые данные в tests/test_ods_snapshot_integration.py для
соответствия JSON-формату STG.
- Проверка:
- uv run make test (15 passed).
- SELECT airport_name FROM ods.airports → "Аль-Баха" (вместо JSON).
Документация
Этот каталог содержит дополнительные материалы к учебному стенду.
Быстрый путь (для менти)
- Быстрый старт и команды
- Учебные задания
- План тестирования и проверки
- Главный учебный DAG: bookings → stg
- Учебный DAG: stg -> ods
- Учебный DAG: ods -> dds
Технические детали (опционально)
- Как устроен Docker-стенд (образы, Connections, переменные окружения)
- Единые конвенции нейминга DWH (служебные поля и SCD)
- PXF в этом проекте (проектная реализация)
- Дизайн stg для bookings (черновик)
- Дизайн ods для bookings (черновик)
- Дизайн dds для bookings (черновик)
- Про время/UTC в bookings (черновик)