Data flow · Diagram Design

Airflow DAG-платформа: идемпотентный поток отчёта

Airflow DAG-платформа — поток данных отчёта Схема потока данных: витрина Postgres sales проходит окно logical_date, SQL-агрегат fetch, DQ-гейт shared/dq.py и идемпотентную запись в Google Sheets или CSV, после чего запуск фиксируется в dag_metrics, а падение ловится on_failure_callback. DQ-OK ROWS 01 WINDOW 02 EXTRACT 03 DQ GATE 04 PUBLISH 05 OBSERVE PG Postgres · sales 127.0.0.1:5434 витрина продаж DB DAG Окно запуска windows.py [logical_date - N, ) DAG fetch_sales PostgresHook · SQL агрегат за окно DB TB DAG DQ-валидация shared/dq.py header · revenue ≥ 0 TB TB DAG Запись отчёта output.py · sheets|file идемпотентная перезапись TB FL DAG record_metrics metrics.py · XCom run_id · duration_s FL DB OUT Google Sheets / CSV GSheetsHook · data/out/ версионируемый отчёт FL OBS on_failure_callback alerts.py лог + failed-метрика OBS dag_metrics Postgres · таблица run_id · status · duration DB ИСТОЧНИК POSTGRES ОРКЕСТРАЦИЯ AIRFLOW · DAG ДОСТАВКА SINKS НАБЛЮДАЕМОСТЬ OBSERVABILITY ROLE PG SOURCE DAG ORCHESTRATION OUT SINKS OBS METRICS PAYLOAD DB dataset TB analysis-ready FL report

Оранжевая стрелка — единственный фокус схемы: подписанный хендофф DQ-валидированных строк в приёмник (тот же проход идемпотентно перезаписывает отчёт). Пунктир — on_failure_callback (падение любой таски). Оба DAG-а (daily_sales_report, weekly_sales_summary) идут по одному шаблону fetch → validate → write → record_metrics; второй переиспользует те же shared-модули, поэтому на схеме показан один маршрут с ключевыми таск-функциями.