Дизайн и разработка платформы мониторинга для «Работа в России»

Разработка хранилища данных
Построение системы для пользовательской настройки аналитических отчетов
Интеграция с ИАС ОБВ «Работа в России»
Разработка, сбор, проверка и очистка данных из АИС ПФР и других источников панелей
Работающее промышленное решение
Информация из системы мониторинга используется на регулярной основе для отчетности в министерстве и на заседаниях правительства РФ по труду и занятости

Результаты проекта по мониторингу рынка труда

Единое хранилище данных
Дашборды для всех уровней управления
Преднастроенные аналитические отчеты

результаты проекта по мониторингу выпускников

Задачи проектов

человек
в команде
10
на реализацию готового решения с последующим развитием
2 месяца
>30
дашбордов по мониторингу рынка труда
>20
дашбордов по мониторингу выпускников
70%
клиентов приходят по рекомендации

Итоги проекта

Решения
Сложности
Данные предварительно загружались в parquet файлы, которые использовал расчетный микросервис dask. Таким образом было сформировано локальное хранилище с параллельными вычислениями без обращения в КХД. Дополнительно брокер запросов (веб сервер Nginx) кэшировал запросы, чем еще более ускорял выдачу повторных запрсов.
Дашборды получали данные из веб сервиса, который, в свою очередь, получал их из КХД. Скорость выполнения запросов была неудовлетворительной.
Быстрая отрисовка визуализаций на дашбордах по источникам с 1 млрд записей для тысяч пользователей, просмативающих данные
Задача была реализована миксом из процедур на python и SQL. В зависимости от сложности обработки применялись нужные средства.
Требовалось выделять «дельту» изменений по предоставляемым текстовым данным
Данные передавались каждый раз за всю историю
Была написана библиотека на python с методом многопоточной параллельной обработки входных данных и последующей записи в базу. Исходный файл читался полностью в оперативную память и делился на части, которые обрабатывались параллельными потоками. Далле каждая обработанная часть информации превращалась в оперативной памяти в csv файл (не на диске) и сохранялась в базу командой COPY
Данные предоставлялись в виде текстового csv файла, в котором каждая строка - отдельный json, данные из которого надо было также обрабатывать до загрузки в базу данных (применение бизнес правил)
Загрузка и обработка большого массива данных ~1млрд. записей
Был использован оркестратор Apache Airflow вместо классического ETL, который управлял задачами обработки данных, написанными на python. В зависимости от сложности и от применимости python или SQL процедур, принималось решение о реализации алгоритмов очистки и обработки данных на разных этапах загрузки данных.
Классические поточные ETL не удобны, поскольку алгоритмы обработки данных довольно сложные и требуется написание кастомных процедур обработки на каком-либо языке программирования
Источники данных очень «грязные»
Справочник компаний собирался алгоритмически из разных частей с логированием ошибок. Применялось около 10 разных алгоритмов, чтобы привести его к нужному виду. Данные, которые не удовлетворяли условиям попадали в лог ошибок и правились вручную в источниках. Другие справочники собирались вручную и назначались фактам по заданным алгоритмам аналитиками
Данные предоставлялись из разнородных источников без возможности использования мастер-справочников. Например, справочник компаний был представлен 4 источниками, а некоторые справочники создавались вручную по ходу проекта.
Интеграция с разнородными источниками
Задачи

Вызовы

Шрифт

Цвета для диаграмм

Основные цвета

Цвета

UI-KIT

Реализация информационно-аналитических панелей
по мониторингу рынка труда

Оперативный мониторинг (Главный дашборд)
Показатели по регионам с картами
Сводные показатели по России, округам и пр.
Показатели по отраслям
Показатели по системообразующим предприятиям
Карточка предприятия
Показатели по всем предприятиям

функциональные компоненты дашбордов

Реализация информационно-аналитических панелей по мониторингу выпускников

Трудоустройство выпускников
Востребованные профессии
Рейтинги работодателей, рынка труда, образовательных организаций, сфер обучения и специальностей
Вакансии для молодых специалистов
Анализ выпускников в поиске работы

функциональные компоненты дашбордов