Учебный ELT-пайплайн от сырого XLSX до аналитической Звезды
eltdwh-airflow-dbt — учебный ELT-пайплайн, который делает то же, что реальные проекты, только в миниатюре.
Проблема: во многих интеграциях бизнес-логика мешается с кодом доставки, нет идемпотентности, не понятно, как воспроизвести загрузку.
Решение: 6 DAG-ов Airflow, которые трансформируют данные строго по очереди: XLSX → Валидация → CSV → Staging → Core (Data Vault) → Marts (Star Schema)
Airflow — только оркестрация и контроль. Вся бизнес-логика — в dbt.
Главный инженерный принцип, заложенный в проект: не превращать обработку данных в монолитный «всемогущий» скрипт, а дробить процесс на короткие изолированные операции.
Что внутри: • Проверка файлов перед загрузкой • Контроль количества строк при COPY • SCD2 через effective_from и effective_to • Data Vault (хабы, линки, сателлиты) • Витрины для аналитики
Зачем делал?
Чтобы убедиться, что я действительно вырос до инженера. Еще пару лет назад мне казалось, что я не смогу создать полноценный, промышленный ELT с нуля. А тут взял и сделал за пару недель в свободное от работы время.
Стек: Python, Airflow, dbt, PostgreSQL.
Ссылка на репозиторий с исходным кодом — в первом комментарии под этим постом.
#Airflow #dbt #ELT #DataEngineering #DataVault #eltdwh_pipeline #инженерияданных
· 08.08
Очень здравая мини-лаборатория, особенно про идемпотентность и разнос бизнес-логики с доставкой. В таких пайплайнах чаще всего ломается не Airflow, а «грязный» контракт на входе и повторная загрузка. Вы уже проверяли поведение на частичных фейлах и дублях?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 08.08
Привет, конечно, вроде все нормально)
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён