fix(ods): внедрен паттерн Temporary Table для транзакционных загрузок
- Зачем: - исправление критических ошибок 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-логики.
This commit is contained in:
@@ -126,10 +126,11 @@ GP-специфичная best practice, которую забывают даж
|
||||
- Удалить секцию 6 «Переходный маппинг» как неактуальную
|
||||
- Файлы: ~27 STG SQL + ODS load-скрипты + `naming_conventions.md` + тесты
|
||||
|
||||
- [ ] **Дублирование CTE в ODS load-скриптах**
|
||||
- [x] **Дублирование CTE в ODS load-скриптах**
|
||||
- `WITH src AS (...)` копируется 2-3 раза в каждом из 9 ODS load-файлов
|
||||
- **Решение**: TEMP TABLE для самых сложных (airports, flights, routes); простые — оставить
|
||||
- Файлы: `sql/ods/airports_load.sql`, `sql/ods/flights_load.sql`, `sql/ods/routes_load.sql`
|
||||
- *Заметка*: Для всех транзакционных таблиц ODS внедрен паттерн TEMP TABLE для надежной работы HWM.
|
||||
|
||||
- [ ] **DM слой незавершён**
|
||||
- 1 из 5 витрин реализована, остальные — закомментированные заглушки
|
||||
|
||||
Reference in New Issue
Block a user