7.1 Модуль интеграции (ETL)

Модуль интеграции (ETL) в составе платформы “Цифровой Двойник Города” реализован как набор отдельных, технологически обособленных компонентов, предназначенных для автоматической загрузки, трансформации и подготовки данных. Он представляет собой иерархию микросервисов и скриптов обработки, сгруппированных в логические блоки по функциям.

Структура модуля включает:

  • Службы загрузки и импорта данных — компоненты, реализующие подключение к источникам (локальные файлы, API, базы данных), регулярное обновление и загрузку новых версий данных;
  • Блоки преобразования и нормализации — реализованы в виде цепочек скриптов на языке R и С++, отвечающих за перекодировку, устранение пропусков, приведение к единой структуре и формирование витрин;
  • Каталог справочников и словарей — отдельный компонент, хранящий классификаторы, соответствия единиц измерения, типы объектов и территориальные привязки;
  • Диспетчер ETL-задач — управляет последовательностью запуска, журналированием, хранением логов выполнения и сигнализацией об ошибках;
  • Интерфейс настройки загрузок — позволяет добавлять новые источники, задавать правила обработки, графики обновления и параметры валидации без изменения кода модулей.

Технически компонент ETL реализован на базе:

  • R-сценариев и RMarkdown-шаблонов (для обработки, визуализации, логирования);
  • ClickHouse (для промежуточного и итогового хранения);
  • Docker-контейнеров (для изоляции процессов);
  • Seafile (для хранения вспомогательных файлов и выгрузок);
  • GitLab (для хранения версий ETL-моделей и истории изменений).

Каждая часть модуля может быть обновлена или масштабирована независимо. Это обеспечивает лёгкую адаптацию под новые задачи, добавление ветвей обработки — например, под форматы Росфинмониторинга, ТЭБ или ведомственные формы Минсельхоза — без изменения базовой логики платформы.