1. Общее описание
REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельного обновления данных в Компоненте «Витрина данных» с независимым масштабированием REST-интерфейса.
Операции с данными:
загрузка: отправка запроса на
.../upload;Модификация данных из внешних источников: отправка запроса на
.../modify;логическое удаление: отправка запроса на
.../delete(при этом для логических таблиц данные только помечаются как удаленные);удаление исторических данных: отправка запроса на
.../truncate.
См. Спецификация модуля асинхронной загрузки данных из сторонних источников
Внимание
Не рекомендуется использовать персональные данные в качестве первичного ключа, т.к. первичный ключ может отображаться в логах Системы при удалении истории.
Обеспечена буферизация поступающих на загрузку данных. Буферизированные данные направляются в базу менеджером дельт с группировкой по датамартам.
Обеспечены следующие функциональные особенности:
идентификатор генерируется по стандарту UUID;
метаданные от сервера витрины кешируются механизмом, и проверяются на соответствие по количеству и по типам полей (при несоответствии загружаемых данных метаданным целевой таблицы сервис для передачи / загрузки данных возвращает статус запроса с ошибкой, без размещения данных в очереди на загрузку);
загруженные данные размещаются вместе с UUID в очереди с именем «queue»;
формируется запись с ключом «status.[UUID запроса]» и статусом 0 в очереди;
клиенту, отправившему запрос, возвращается успешный статус запроса вместе с UUID;
в логе приложения формироваться запись события получения запроса на загрузку с указанием идентификатора запроса, идентификатора ВУЗа, времени обработки и размера загруженных данных.
Внимание
Загружаемые файлы обязательно должны быть в кодировке UTF-8
Примечание
Заливка данных через через модуль REST-Uploader не предусматривают параллельную заливку в датамарты вместе с другими инструментами. Параллельная заливка данных в те же датамарты вручную или средствами ETL приведет к конфликту в работе с дельтами и к ошибкам соответственно.
Общие правила формата загружаемых CSV-файлов приведены в таблице Таблица 2.43.
Параметр |
Значение |
|---|---|
Разделитель строк |
Любой вариант из: CR/LF (0x0D0A), CR (0x0D), LF (0x0A) |
Разделитель полей |
по настройке csv-parser/separator (Раздел 2.2.9.2) |
Строка заголовка |
да (обязательно) |
Порядок полей в строке |
определяется строкой заголовка |
Ограничитель текстового поля |
по настройке csv-parser/quote-char (Раздел 2.2.9.2) |
Символ маскировки в текстовом поле |
по настройке csv-parser/escape-char (Раздел 2.2.9.2) |
Обнаружение значения null |
До релиза 1.5.0 (включительно): по настройке csv-parser/field-as-null (Раздел 2.2.9.2) начиная с релиза 1.10.0: в текущей реализации парсера данная настройка не поддерживается |
Кодирование символов |
UTF-8 |
Десятичный разделитель |
символ |
Формат даты |
любой из: |
Формат времени |
любой из: |
Формат даты-времени |
до релиза 1.5.0(включительно) любой из: начиная с релиза 1.10.0 любой из: |