Архітектура
Налаштування сервера із СУБД Clickhouse. Налаштування матеріалізованого представлення, індексів. В якоості індексу використання generateSnowflakeID(). Налаштування порціонування.
Розгорнути кластер Elasticsearch, налаштувати mappings, шарди.
Розгорнути кластер Redis як базу даних завдань для різних обробників даних
Отримання даних
Завдання щоо періодичної перевірик змін у датасеті за налаштованим посиланням
Формування завдань для завантаження нових наборів відкритих даних
Розархіувавання наборів даних, які представлені в архіві. Помішення файлів з арзіву в тимчасову директорію та створення завдання для їх наступної обробки.
Злиття csv файлів, які містяться у наборі даних один csv для подальноъ обробки
Обробка наборів даних у вихідному форматі:
файлів у форматі csv з різними типами делімітаторів та екрануваням
файлів у форматі txt з різними типами делімітаторів та екранування
файлів у форматі json
Нормалізація даних для подальшого збереження у форматі багаторівневого масиву json. Ключі у вигляді числових кодів
Обробка наборів даних
Набір даних "Інформація щодо стану розгляду справ" https://dsa.court.gov.ua/dsa/inshe/oddata/532/
Набір даних "Список справ призначених до розгляду" https://dsa.court.gov.ua/dsa/inshe/oddata/513/
Набір даних "Єдиний державний реєстр судових рішень" за різні роки https://court.gov.ua/opendata/
Набір даних "Відомості про справи про банкрутство" https://dsa.court.gov.ua/dsa/inshe/oddata/511/
Набір даних "Протоколи автоматизованого розподілу судових справ між суддями" https://dsa.court.gov.ua/dsa/inshe/oddata/757/
Статистичні дані
Групування статусів справ з набору відкритих даних "Стан розгляду справ":
'codes' => [
0 => 'Не визначено',
1000 => 'Надйшли до суду',
1100 => 'Перебуває на розгляді',
1150 => 'Залишено для виконання вимог суду',
1200 => 'Зупинено розгляд',
1300 => 'Повернуті з різник причин',
1400 => 'Завершено',
1500 => 'Розглянуто',
2000 => 'На виконанні',
],
Загальні кількісні показники розгляду справ за різними критеріями
Загальна кількість справ, яка надійшла до певного суду з розбиттям по суддям та можливістю виведення за певний період
Кількість справ, яка розглянута кожним суддею по суті протягом певного періоду
Кількість справ, розгляд яких по суті не було розпочато і справи були повернуті (залишені без розгляду), передані до іншого суду з різних причин
Аналітичні дані
Визначення учасників, які найчастіще беруть участь у справах під головуванням конкретного судді
Оптимізація
Створення довідника кодів ключів масиву в int форматі для зменшення розміру кінцевого масиву та пришвидшення роботи пошукових алгоритмів та індексування
Баги
Виправити помилку при повернені порожніх результатів при асинхронних запитах до elasticsearch. Якщо багато асинхронних запитів, то повертається лише частина асинхронних запитів, а інші не встигають віддати результат.