Skip to content

savadevel/OpenDataByModernStack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenDataByModernStack

Общая информация

Создание пайплайна загрузки в открытых данных правительства Москвы для анализа зависимостей в BI на базе современного стека инструментов

Цели

  1. Создать пайплайн загрузки открытых данных правительства Москвы
  2. Использовать современный стек инструментов
  3. Анализа зависимостей в BI

Что планировалось

  1. Выбрать набор открытых данных правительства Москвы
  2. Сделать контейнер сервисов
  3. Создать слои данных (STG, ODS и DDS) в DWH
  4. Создать аналитические витрины (DMT) в хранилище горячих данных
  5. Настроить оркестрацию загрузки данных
  6. Выполнить пайплан, прогрузить данные
  7. Проанализировать загруженные данные

Используемые технологии

  • Конфигурация в Docker, разделение на отдельные самостоятельные сервисы
  • AirFlow – оркестратор
  • dbt – трансформации, тестирование данных
  • Cosmos – связка AirFlow и dbt
  • PostgreSQL – хранилище данных (DWH)
  • ClickHouse - аналитические витрины
  • Superset - BI

Версии

  • Docker - 25.0.3
  • AirFlow - 2.8.3
  • dbt - 1.7.10
  • dbt plugins postgres - 1.7.10
  • dbt plugins clickhouse - 1.7.3
  • Cosmos - 1.3.2
  • PostgreSQL - 16.2
  • ClickHouse - 24.2.2.71
  • Superset - 3.1.1

Что получилось

  1. Исходный набор данных “Годовой пассажиропоток по всем видам общественного транспорта в городе Москве”

image

  1. Структура проекта

image

  1. Структура контейнеров, выделение отдельных сервисов

image

  1. Код дага загрузки архива, распаковки json и загрузки данных в STG

image

  1. Код дага трансформации в ODS и DDS загруженных данных из STG, а также структура соответствующего проекта dbt при использовании Cosmos для связки с Airflow

image

  1. Даги пайплана загрузки открытых данных правительства Москвы

image

  1. Граф дага трансформации загруженных данных в STG

image

  1. Анализ зависимостей в BI

image

Схема потоков данных

image

Выводы и планы по развитию

  1. Выбранный стек позволят построить пайплайн загрузки данных
  2. Cosmos позволяет связать AirFlow c dbt, а это дает сделать оркестрация функционала dbt из "коробки", как, например, создание моделей данных, тестирование и инкрементальную загрузку протестированных данных
  3. Дальнейшие планы по развитию:
  • вынести в настройку задание наборов загружаемых открытых данных
  • минимизировать количество операций по настройки созданных контейнеров (запустил "docker compose up" и перешел к анализу данных в Superset)
  • создание инфраструктуры сделать через Terraform
  • использовать облачные ресурсы
  • выстроить зависимость дагов загрузки данных
  • документирование проекта

About

Создание пайплайна загрузки в открытых данных правительства Москвы для анализа зависимостей в BI на базе современного стека инструментов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors