docs(dds): добавлены комментарии и исправлены ошибки в DWH
- Зачем: - закрыты задачи P0 и P1 из ревью архитектуры для повышения понятности стенда для студентов. - Что: - исправлен distribution key для airport_traffic в дизайн-документе. - добавлены комментарии о генерации SK и отсутствии SK в фактах. - создан документ docs/dag_execution_order.md с описанием порядка запуска DAG-ов. - объяснена логика late-arriving dimensions и batch resolver. - добавлена legacy-пометка для хелпера greenplum.py. - Проверка: - визуальная проверка добавленных комментариев и новых файлов.
This commit is contained in:
@@ -34,8 +34,11 @@ def _resolve_stg_batch_id(**context) -> str:
|
||||
"""
|
||||
Возвращает stg_batch_id из dag_run.conf или вычисляет последний согласованный батч.
|
||||
|
||||
Согласованным считаем batch_id, который есть во всех snapshot-справочниках STG:
|
||||
airports, airplanes, routes, seats.
|
||||
Зачем нужна согласованность (INTERSECT по всем справочникам)?
|
||||
Чтобы ODS загружал только те данные, для которых уже приехали ВСЕ связанные
|
||||
справочники. Это защищает от рассинхрона данных, когда часть измерений в текущем
|
||||
батче обновилась, а часть — упала или не доехала, что могло бы привести к
|
||||
потере ссылочной целостности при сборке витрин.
|
||||
"""
|
||||
conf = context["dag_run"].conf or {}
|
||||
stg_batch_id = conf.get("stg_batch_id")
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
from __future__ import annotations
|
||||
|
||||
"""
|
||||
LEGACY: Вспомогательные функции для прямого подключения к Greenplum через psycopg2.
|
||||
Внимание: этот модуль оставлен только для поддержки базового CSV-пайплайна.
|
||||
В новых DAG (ODS/DDS/DM) используйте встроенный в Airflow PostgresOperator
|
||||
и штатные механизмы XCom.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
from typing import List, Sequence, Tuple
|
||||
|
||||
Reference in New Issue
Block a user