Загрузка CSV-файлов в Витрину данных
«CSV-Uploader» – программный модуль Витрины данных, который предназначен для загрузки CSV-файлов в Витрину данных.
«CSV-Uploader» предназначен для следующих задач:
- загрузка CSV-файлов;
- загрузка CSV-файлов со структурой Витрины данных;
- выгрузка CSV-шаблонов с демо-шаблонами Витрины данных;
- автоматический запуск загрузки CSV-файлов по расписанию из выбранного каталога;
- просмотр Журнала операций.
Загружаемые файлы обязательно должны быть в кодировке UTF-8.
Пользователь взаимодействует с модулем «CSV-Uploader» через графический web-интерфейс. Перед началом работы с модулем ссылку на этот web-интерфейс Пользователь получает от Администратора Сервиса.
Для передачи XML-файла со структурой Витрины данных, выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-Uploader».
- Выберите вкладку «Загрузка структуры».
- В открывшемся окне «Загрузка структуры Витрины» нажмите кнопку «Выберите файл», выберите XML-файл для загрузки и нажмите кнопку «Загрузить», см. рисунок.

Увеличить
Для выгрузки существующего CSV-файла со структурой таблиц данных в Витрине данных, выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-uploader».
- Выберите вкладку «Выгрузка шаблона CSV».
- Выберите таблицу для выгрузки, например, «demo_view_podd.all_types_table», для выгрузки шаблона CSV-таблиц для ПОДД, см.рисунок.

Увеличить
- Нажмите кнопку «Выгрузить». Файл будет загружен на локальный компьютер. Если требуется выгрузить все таблицы, нажмите кнопку «Выгрузить все».
В случае успешной выгрузки отобразится информационное сообщение: «Список таблиц выгружен».
Для загрузки CSV-файла, выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-uploader».
- Выберите вкладку «Загрузка».
- В открывшемся окне «Загрузка файла» выберите «Режим загрузки»:
- «Вставка» - параметр определяет, что данные будут добавлены.
- «Удаление» - параметр определяет, что данные будут удалены.
- Для автоматического определения типа таблиц включите переключатель «Автоматическое определение таблицы», если автоматическое определение таблиц не требуется, выключите переключатель и выберите таблицу, в которую требуется внести изменения, например, «demo_view_podd.all_types_table», см. рисунок.

Увеличить
- Нажмите кнопку «Выберите файл» чтобы выбрать файл для загрузки.
- Нажмите кнопку «Загрузить».
- Убедитесь, что файл с таблицами был загружен, для этого просмотрите информационное сообщение, см.рисунок.

Увеличить
Для модуля «CSV-Uploader» можно настроить следующие параметры:
- автоматический запуск загрузки CSV-файлов по расписанию;
- количество отображаемых записей для Журнала операций.
Автоматический запуск загрузки CSV-файлов по расписанию. Для настройки автоматического запуска загрузки CSV-файлов по расписанию, выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-uploader».
- Выберите вкладку «Настройки».
- В открывшемся окне «Настройки» в поле «Запуск по расписанию» укажите время в Cron формате (например, 0 15 10? * * – загрузка файлов будет происходить каждый день в 10.15) и путь к каталогу с CSV-файлами, см.рисунок.

Увеличить
- Установите маркер в поле «Включить», для активации автоматического запуска загрузки.
- Нажмите кнопку «Применить настройки».
В случае успешного применения настроек отобразится информационное сообщение: «Конфигурация успешно получена».
Для настройки Журнала операций выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-uploader».
- Выберите вкладку «Настройки».
- В открывшемся окне «Настройки» в поле «Размер страницы», укажите количество записей на страницу, например, «20», см. рисунок.

Увеличить
- Нажмите кнопку «Применить настройки».
В случае успешного применения настроек отобразится информационное сообщение: «Конфигурация успешно получена».
В Журнале операций можно просмотреть действия, выполненные в модуле «CSV-Uploader»:
- Время – время, когда операция была выполнена.
- Уровень – статус операции:
- ERROR - ошибка загрузки;
- NFO - описание операции.
- Сообщение – краткое информационное сообщение об операции.
Для просмотра Журнала операций выполните следующие действия:
- Откройте графический интерфейс модуля «CSV-Uploader».
- Выберите вкладку «Журнал операций».
- В открывшемся окне просмотрите операции, которые были выполнены в модуле «CSV-Uploader», см. рисунок.

Увеличить
При работе с Витриной данных через JDBC-клиента Пользователю могут выводиться сообщения, указанные в таблице.
Все сообщения, формируемые в процессе функционирования Витрины данных, журналируются соответствующими элементами развертывания, а именно:
- Ядро Витрины данных ProStore в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории «var/log/dtm-core»;
- Элемент развертывания «мониторинг статусов» (входит в состав сервиса потоковой обработки сообщений Kafka) в ходе выполнения формирует сообщения и выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории «var/log/status-monitor»;
- Модуль исполнения запросов принимает сообщения от внешних по отношению к нему элементов развертывания Витрины данных в ходе их выполнения и также выводит их в стандартный порт вывода, перенаправленный в лог-файл в директории «var/log/dtm-core».
Формируемые сообщения делятся на следующие категории, определяющие уровень важности сообщения:
- INFO – информирующее сообщение о статусе запроса, выполненного или полученного Сервисом исполнения запросов. Сообщение имеет базовый уровень важности;
- TRACE, DEBUG – подробные сообщения о состояниях внутренних компонентов Сервиса исполнения запросов. Сообщения предназначены для отладки и имеют повышенный уровень важности;
- WARN – сообщение от Ядра Витрины некритичном сбое, имеет повышенный уровень важности;
- ERR – сообщение от Ядра Витрины о критичном сбое, имеет высокий уровень важности.
Сообщения содержат:
- метки даты-времени с миллисекундной точностью;
- категорию сообщения;
- уровень иерархической вложенности сообщения в рамках одного компонента-отправителя;
- идентификатор потока в многопоточном исполнении;
- идентификатор компонента-отправителя;
- тело текстового сообщения.
Классификатор ошибок:
Выдаваемое сообщение | Описание сообщения | Рекомендуемые действия Пользователя |
---|---|---|
Database имя логической базы данных already exists | Неуспешная попытка создания логической базы данных: указанное наименование уже используется для другой логической базы данных в рамках окружения | Указать другое наименование логической базы данных и повторить SQL-запрос |
Database имя_логической_ базы_данных does not exist | Неуспешная попытка обращения к логической базе данных: логическая база данных с указанным наименованием отсутствует в рамках окружения | Исправить наименование логической базы данных на корректное и повторить SQL-запрос.Для получения перечня существующих логических баз данных можно использовать SQL-запрос: «SELECT * FROM informat ion_schema.schemata» |
System database INFORMATION_SCHEMA is non-deletable | Неуспешная попытка удаления логической базы данных INFORMATION_SCHEMA: данная логическая база данных используется служебных целях и не может быть удалена | Действия не требуются |
Table имя _логической_таблицы already exists | Неуспешная попытка создания логической таблицы: указанное наименование уже используется для другой логической таблицы в рамках логической базы данных | Указать другое наименование для логической таблицы и повторить SQL-запрос |
Table имя _логической_таблицы does not exist | Неуспешная попытка обращения к логической таблице: логическая таблица с указанным наименованием отсутствует в рамках логической базы данных | Исправить наименование логической таблицы на корректное и повторить исходный SQL-запрос.Для получения перечня существующих логических таблиц и представлений можно использовать SQL-запрос: «SELECT * FROM infor mation_schema.tables» |
Entity имя_логического_ представления already exists | Неуспешная попытка создания логического представления: указанное наименование уже используется для другого логического представления в рамках логической базы данных | Указать другое наименование логического представления и повторить SQL-запрос |
View имя_логического_ представления does not exist | Неуспешная попытка обращения к логическому представлению: логическое представление с указанным наименованием отсутствует в рамках логической базы данных | Исправить наименование логического представления на корректное наименование и повторить SQL-запрос.Для получения перечня существующих логических таблиц и представлений можно использовать «SQL-запрос: SELECT * FROM infor mation_schema.tables» |
External Table имя_внешней_ таблицы already exists | Неуспешная попытка создания внешней таблицы: указанное наименование уже используется для другой внешней таблицы в рамках логической базы данных | Указать другое наименование внешней таблицы и повторить SQL-запрос |
External table имя_внешней_ таблицы does not exist | Неуспешная попытка обращения к внешней таблице: внешняя таблица с указанным наименованием отсутствует в рамках логической базы данных | Исправить наименование внешней таблицы на корректное и повторить SQL-запрос |
Column имя_столбца does not exist | Неуспешная попытка обращения к столбцу логической таблицы или логического представления: столбец с указанным наименованием отсутствует | Исправить наименование столбца на корректное и повторить SQL-запрос.Для получения перечня существующих столбцов логических таблиц и представлений можно использовать SQL-запрос: «SELECT * FROM inform ation_schema.columns» |
Disallowed view or directive in a subquery SQL-запрос _ типа _DML | Неуспешная попытка создания или изменения логического представления: в SQL-запросе использованы системные представления, другие логические представления или инструкция FOR_SYSTEM_TIME, которые недоступны для логического представления | Скорректировать SQL-запрос таким образом, чтобы в нем отсутствовали системные и другие логические представления, а также инструкция FOR_SYSTEM_TIME |
Delta is not committed | Неуспешная попытка открытия дельты: дельта уже открыта | Если нет необходимости в открытии новой дельты, действия не требуются.Если есть необходимость в открытии новой дельты, следует закрыть текущую открытую дельту и затем открыть новую дельту |
The delta number номер _ дельты is not next to an actual delta | Неуспешная попытка открытия дельты: использована инструкция SET с номером, который не соответствует формату номе р_последней_закрытой _дельты + 1 | Скорректировать номер дельты или удалить инструкцию SET и некорректный номер, после чего повторить SQL-запрос.Номер последней закрытой дельты можно узнать с помощью SQL-запроса: «GET_DELTA_OK()» |
Delta is already committed | Неуспешная попытка закрытия дельты: дельта уже закрыта | Действия не требуются |
Unable to set the date-time дата _ и _ время | Неуспешная попытка закрытия дельты: использована инструкция SET с датой и временем, которые предшествуют дате и времени последней закрытой дельты | Скорректировать указанные дату и время дельты или удалить инструкцию SET и некорректные дату и время, после чего повторить SQL-запрос.Дату и время последней закрытой дельты можно узнать с помощью SQL-запроса: «GET_DELTA_OK()» |
Location URI is unreachable | Неуспешная попытка загрузки/выгрузки данных: внешний приемник данных отсутствует по пути, указанному для внешней таблицы | Скорректировать указанный путь к внешнему приемнику данных |
Queried entity is missing for the specified DATASOURCE_TYPE тип источника данных | Неуспешная попытка обращения к явно заданному источнику данных: запрашиваемая сущность отсутствует в источнике данных | Скорректировать указанный источник данных или перечень запрашиваемых сущностей, после чего повторить SQL-запрос |
No single datasource contains all queried entities | Неуспешная попытка обращения к нескольким источникам данных: нет ни одного источника данных, который бы содержал все запрашиваемые сущности | Скорректировать указанные источники данных или перечень запрашиваемых сущностей, после чего повторить SQL-запрос |