3. Установка программы
Внимание
Перед установкой программы необходимо обязательно выполнить предварительные действия по настройке (см. раздел Предварительные действия).
Состав компонентов и номер версии см. в разделе «4. Проверка Программы» настоящего Руководства (см. Таблица 4.2).
Требования к серверному оборудованию, телекоммуникационному оборудованию и каналам связи приведены в разделе «Минимальный состав технических средств» документа «Руководство администратора».
Требования к программному обеспечению (см. раздел «Минимальный состав программных средств» документа «Руководство администратора»).
3.1. Настройка конфигурационного файла
Чтобы запустить процесс установки программы с помощью Ansible, необходимо настроить конфигурационный файл. Для этого выполните следующие действия:
1. Переименовать файл custom.example.yml расположенный в папке ansible/group_vars/ в custom.yml. Для этого выполните команду:
cp -n ansible/group_vars/custom.example.yml ansible/group_vars/custom.yml
В файле
custom.ymlуказать корректные значения для следующих переменных:
server_ip- адреса сервера. Укажите IP-адрес сервера, на который будет установлена программа. Например:
server_ip: "172.16.10.59"
server_user_name- имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым будет производиться установка программы (см. раздел Создание пользователя), например:
server_user_name: datamart
podd_kafka_topic_prefix- префикс перед именем топиков для ПОДД-агента. Например:
podd_kafka_topic_prefix: "user_prefix."
Внимание
В качестве префикса рекомендуется использовать мнемонику витрины. После определения параметра префикса следует обязательно ставить символ . (точка)! Пример: podd_kafka_topic_prefix: "prod_vitrina98."
3.2. Установка программы
Для установки программы выполните команду:
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс установки программы (см. Рисунок - 3.4):
Рисунок - 3.4 Процесс установки
Установка программы завершена. При успешной установке параметр failed должен иметь значение - 0 (см. Рисунок - 3.4). Это значит, что все компоненты
программы установлены, а необходимые взаимосвязи между ними настроены корректно.
После установки программы следует провести ее проверку.
4. Проверка программы
Процесс установки программы описан в разделе Установка программы.
Для проверки установки программы следует выполнить следующие действия:
Открыть в браузере web-интерфейс Portainer для управления docker-контейнерами по адресу:
IP:9000
IP- адрес сервера.9000- порт сервера.
Введите логин и пароль администратора Portainer. По умолчанию -
admin/LongPassword(см. Рисунок - 4.4).
Рисунок - 4.4 Авторизация в Portainer
Чтобы определить и автоматически настроить локальную среду нажмите значок Get Started (см. Рисунок - 4.5).
Рисунок - 4.5 Окно «Quick Setup»
На главной странице нажмите ссылку local (см. Рисунок - 4.6).
Рисунок - 4.6 Окно «Home»
Нажмите значок Containers (см. Рисунок - 4.7).
Рисунок - 4.7 Окно «Containers»
В разделе Container list просмотреть наличие компонентов в дистрибутиве программы (Таблица 4.2):
Состав компонентов в дистрибутиве программы версии 1.13.0 (см. Таблица 4.2).
Наименование компонента |
Версия |
Техническое наименование |
|---|---|---|
graylog |
4.2.7 |
graylog:4.2.7 |
podd-adapter-query |
1.13.0 |
podd-adapter:1.13.0 |
podd-adapter-mppr |
1.13.0 |
podd-adapter-mppr:1.13.0 |
podd-adapter-replicator |
1.13.0 |
podd-adapter-replicator:1.13.0 |
podd-adapter-group-repl |
1.13.0 |
podd-adapter-group-repl:1.13.0 |
csv-uploader |
1.13.0 |
csv-uploader:1.13.0 |
query-execution |
6.7.0 |
query-execution:6.7.0 |
PostgreSQL |
13.4 |
PostgreSQL:13.4 |
PG-connector |
0.6.0 |
PG connector:0.6.0 |
kafka-postgres-writer |
0.6.1 |
kafka-postgres-writer:0.6.1 |
kafka-postgres-reader |
0.6.1 |
kafka-postgres-reader:0.6.1 |
Подключиться к программе по SSH (например, через Putty). Выполнить запрос:
Пример запроса:
curl -X POST -H "Content-Type: application/json" -d '{"requestId": "797de19a-54e2-4c9c-af6e-a9ee312230b5","datamartMnemonic": "base01","sql": "CHECK_VERSIONS()"}' http://0.0.0.0:9090/query/execute
Пример успешного ответа (см. Рисунок - 4.8).
Рисунок - 4.8 Проверка подключения к базе данных Prostore
Подключиться к Grafana.
Для этого следует перейти по адресу: http://<имя сервера>:3000 и
выполнить авторизацию (указаны значения по умолчанию):
логин: admin;
пароль: admin.
Проверить, что показатели Healthcheck Leaviness и Readiness (дашборд Lite) работают (индикатор зеленого цвета).
Просмотреть лог-файл установки (ansible/ansible.log). Лог-файл не должен содержать записей с ошибками установки.
5. Обновление программы
Установка обновления происходит путем перезаписи файлов предыдущей версии программы файлами обновления. Все предыдущие настройки программы (адреса серверов, порты и т.д.) останутся без изменений.
Далее приведены рекомендации по проведению обновления программы в зависимости от версии программы.
Внимание
Перед началом обновления выполните резервное копирование.
5.1. Обновление с версии 1.0.0 до версии 1.0.1
Внимание
Данное обновление предусмотрено только для перехода с версии программы 1.0.0 до версии 1.0.1.
Чтобы обновить программу необходимо выполнить следующие действия (подробная инструкция по обновлению ниже):
Выполнить резервное копирование.
Скопировать архив с обновлением программы на сервер.
Распаковать архив с обновлением.
Запустить процесс обновления.
Проверить, что обновление прошло успешно.
5.1.1. Резервное копирование
Внимание
Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя).
Для того чтобы выполнить резервное копирование создайте архив текущей версии с указанием актуальной даты копирования.
Например:
tar -czvf dtm-lite-2022-01-17.tgz ansible/ images/ jdbc/ rpms/
5.1.2. Копирование архива с обновлением программы на сервер
Для загрузки на сервер архива с файлами обновления программы используйте SFTP-клиент (например, WinSCP или Filezilla).
Для авторизации используйте логин и пароль учетной записи администратора datamart созданной при установке ОС (см. раздел Создание пользователя).
Подключитесь по SSH к серверу (см. раздел Подключение к серверу через SSH-клиент PuTTY), используя логин и пароль учетной записи администратора.
2. Загрузите файл с архивом в домашнюю директорию пользователя datamart
командой:
mv ~/dtm-lite-1.0.1.tgz /home/datamart/
где,
dtm-lite-1.0.1.tgz- название архива программы.datamart- имя пользователя.
5.1.3. Распаковка архива с обновлением
Внимание
Перед тем как выполнить разархивирование рекомендуется просмотреть/скопировать значения переменных (IP-адрес сервера, префикс и т.д.), которые использовались в предыдущей версии программы в файле ansible/group_vars/all/main.yml. После распаковки архива с обновлением программы данные из этого файла будут удалены.
Чтобы распаковать архив, выполните команду:
tar -xzvf dtm-lite-1.0.1.tgz
5.1.4. Процесс обновления программы
Чтобы запустить процесс обновления программы с помощью Ansible, необходимо выполнить следующие действия:
1. Переименовать файл custom.example.yml расположенный в папке ansible/group_vars/ в custom.yml. Для этого выполните команду:
cp -n ansible/group_vars/custom.example.yml ansible/group_vars/custom.yml
В файле
custom.ymlуказать корректные значения для следующих переменных:
server_ip- адреса сервера. Укажите IP-адрес сервера, на который будет установлено обновление программы. Например:
server_ip: "172.16.10.59"
server_user_name- имя пользователя операционной системы. Укажите имя пользователя операционной системы сервера, под которым устанавливается обновление (см. раздел Создание пользователя), например:
server_user_name: datamart
podd_kafka_topic_prefix- префикс перед именем топиков для ПОДД-агента (указывается опционально). Например:
podd_kafka_topic_prefix: "user_prefix."
Внимание
В качестве префикса рекомендуется использовать мнемонику витрины. После определения параметра префикса следует обязательно ставить символ . (точка)! Пример: podd_kafka_topic_prefix: "prod_vitrina98."
Чтобы запустить процесс обновления программы выполните команду:
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс обновления программы (см. рис. ниже):
Рисунок - 5.1 Обновление программы
Установка обновления завершена.
После завершения обновления необходимо убедиться, что обновление программы прошло успешно.
5.1.5. Проверка обновления программы до версии 1.0.1
Для проверки обновления программы необходимо выполнить следующие действия:
Убедиться, что после установки обновления нет ошибок в работе программы.
Убедиться, что параметр
failed(см. рис. выше) после установки обновления имеет значение -0. Это значит, что все необходимые компоненты программы были обновлены, а необходимые взаимосвязи между ними настроены корректно.
3. Открыть Portainer и проверить, что версии компонентов соответствуют указанным ниже:
csv-uploader:1.0.12
podd-adapter:5.0.7
query-execution:5.2.2
5.2. Обновление с версии 1.0.1 до версии выше
Чтобы обновить программу необходимо выполнить следующие действия:
Выполнить резервное копирование.
Скопировать архив с обновлением программы на сервер.
Распаковать архив с обновлением.
Запустить процесс обновления.
Проверить, что обновление прошло успешно.
5.2.1. Резервное копирование
Внимание
Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя).
Для того чтобы выполнить резервное копирование создайте архив текущей версии с указанием актуальной даты копирования.
Например:
tar -czvf dtm-lite-2022-01-17.tgz ansible/ images/ jdbc/ rpms/
5.2.2. Копирование архива с обновлением программы на сервер
Для загрузки на сервер архива с файлами обновления программы используйте SFTP-клиент (например, WinSCP или Filezilla).
Для авторизации используйте логин и пароль учетной записи администратора datamart созданной при установке ОС (см. раздел Создание пользователя).
Подключитесь по SSH к серверу (см. раздел Подключение к серверу через SSH-клиент PuTTY), используя логин и пароль учетной записи администратора.
2. Загрузите файл с архивом в домашнюю директорию пользователя datamart
командой:
mv ~/dtm-lite-<номер версии>.tgz /home/datamart/
где,
dtm-lite-<номер версии>.tgz- название архива программы.datamart- имя пользователя.
5.2.3. Распаковка архива с обновлением
Чтобы распаковать архив, выполните команду:
tar -xzvf dtm-lite-<номер версии>.tgz
5.2.4. Процесс обновления программы
Чтобы запустить процесс обновления программы с помощью Ansible, необходимо выполните команду:
docker-ansible-cmd ansible-playbook -i hosts install.yml
Начнется процесс обновления программы (см. рис. ниже):
Рисунок - 5.2 Обновление программы
Установка обновления завершена.
После завершения обновления необходимо убедиться, что обновление программы прошло успешно.
5.2.5. Проверка обновления программы
Для проверки обновления программы необходимо выполнить следующие действия:
Убедиться, что после установки обновления нет ошибок в работе программы.
Убедиться, что параметр
failed(см. рис. выше) после установки обновления имеет значение -0. Это значит, что все необходимые компоненты программы были обновлены, а необходимые взаимосвязи между ними настроены корректно.Открыть Portainer и проверить, что версии компонентов соответствуют указанным в Таблица 4.2
6. Приложение
6.1. Настройка firewall (Iptables)
Утилита iptables - это межсетевой экран для операционных систем Linux. Настройка iptables производится в командной строке, с помощью правил iptables можно разрешать или блокировать прохождение трафика.
Для выполнения настройки межсетевого экрана необходимо создать конфигурационный файл iptables.conf в папке etc/:
/etc/iptables.conf
Далее, необходимо скопировать в файл следующие настройки:
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:FILTERS - [0:0]
:DOCKER-USER - [0:0]
-F INPUT
-F DOCKER-USER
-F FILTERS
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -j FILTERS
-A DOCKER-USER -o docker0 -j FILTERS
-A FILTERS -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
-A FILTERS -j REJECT --reject-with icmp-host-prohibited
COMMIT
1. Выполнить команду
iptables-restore -n /etc/iptables.conf
2. Создать файл
/etc/systemd/system/iptables.service
Сохранить в файл
[Unit]
Description=Restore iptables firewall rules
Before=network-pre.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore -n /etc/iptables.conf
[Install]
WantedBy=multi-user.target
Включить iptables, для этого выполнить команду
sudo systemctl enable --now iptables
или выполнить следующие две команды:
sudo systemctl enable iptables
sudo systemctl start iptables
После обновления правил в файле /etc/iptables.conf, выполнить следующую команду:
sudo systemctl restart iptables
6.2. Просмотр выполнения загрузки данных в программу
В данном приложении описан порядок проверки загрузки данных в программу, а также необходимые настройки для подключения к базе данных программы.
6.2.1. Настройка подключения к базе данных
Для подключения к базе данных программы необходимо выполнить следующие действия:
получить у системного программиста учетные записи для доступа к базе данных (название БД, логин и пароль пользователя БД);
установить и настроить программу DBeaver (менеджер баз данных);
установить и настроить JDBC-драйвер для работы с базой данных программы;
выполнить проверку подключения к базе данных.
6.2.1.1. Установка программы DBeaver
DBeaver — это бесплатное программное обеспечение с открытым исходным кодом для управления базами данных (БД). Для взаимодействия с реляционными БД в программе используется программный интерфейс JDBC (через JDBC-драйвер).
С помощью программы DBeaver оператор может выполнить следующие действия:
настроить доступ и подключится к БД;
проверить работоспособность БД.
Для установки DBeaver скачайте дистрибутив программы с официального сайта https://dbeaver.io/download/.
Внимание
Необходимо выбрать дистрибутив программы для операционной системы, которая установлена на вашем компьютере.
6.2.1.1.1. Установка DBeaver для ОС Linux
(В данном разделе описан процесс установки DBeaver, в операционную систему Linux Ubuntu, версия 20.04).
В строке поиска Ubuntu Software введите название программы DBeaver (см. Рисунок - 6.1).
Рисунок - 6.1 Поиск DBeaver
В предложенном списке (см.рис. выше) выберите программу DBeaver.
Запустите установку программы, для этого нажмите кнопку Install (см. Рисунок - 6.2).
Рисунок - 6.2 Установка DBeaver
Дождитесь окончания процесса копирования файлов (см. Рисунок - 6.3).
Рисунок - 6.3 Процесс копирования файлов программы
После завершения копирования файлов на экране монитора отобразится окно с сообщением об успешной установке программы (см. Рисунок - 6.4).
Рисунок - 6.4 Завершение установки программы
6.2.1.1.2. Установка DBeaver для ОС Windows
Запустите установочный файл от имени администратора (см. Рисунок - 6.5).
Рисунок - 6.5 Запуск установочного файла от имени администратора
В открывшемся окне (см. Рисунок - 6.6) выберите язык установки:
Рисунок - 6.6 Выбор языка установки
В окне «Мастер установки DBeaver Community» нажмите кнопку Далее (см. Рисунок - 6.7).
Рисунок - 6.7 Окно «Мастер установки DBeaver Community»
В открывшемся окне «Лицензионное соглашение» нажмите кнопку Принимаю (см. Рисунок - 6.8).
Рисунок - 6.8 Лицензионное соглашение
В окне «Выбор пользователя» выберите пользователей компьютера, которым будет доступна программа и нажмите кнопку Далее (см. Рисунок - 6.9).
Рисунок - 6.9 Выбор пользователя
В окне «Компоненты устанавливаемой программы» выберите компоненты программы, которые требуется установить (см. Рисунок - 6.10) и нажмите кнопку Далее.
Рисунок - 6.10 Выбор компонентов программы для установки
В открывшемся окне «Выбор папки установки» вы можете выбрать папку установки или оставить путь к папке установки по умолчанию. Чтобы изменить папку установки нажмите кнопку Обзор и выберите требуемую папку. Для продолжения установки нажмите кнопку Далее (см. Рисунок - 6.11).
Рисунок - 6.11 Выбор папки установки
В окне «Папка в меню «Пуск» выберите папку, в которую будет помещен ярлык программы или установите маркер в поле «Не создавать ярлыки», в этом случае ярлык программы не будет создан (см. Рисунок - 6.12). Нажмите кнопку Установить для продолжения процесса установки.
Рисунок - 6.12 Выбор папки в меню «Пуск»
В окне «Копирование файлов» будет отображен процесс копирования установочных файлов программы (см. Рисунок - 6.13).
Рисунок - 6.13 Копирование файлов программы
Дождитесь окончания процесса копирования файлов. После завершения процесса установки на экране монитора отобразится окно «Завершение работы мастера установки» (см. Рисунок - 6.14). Нажмите кнопку Готово.
Рисунок - 6.14 Завершение работы мастера установки
6.2.1.2. Установка и настройка JDBC-драйвера
Для дальнейшей работы c программой оператору необходимо настроить подключение к базам данных программы. Для этого необходимо установить и настроить JDBC-драйвер.
Дистрибутив с актуальной версией JDBC-драйвер находится в установочном пакете с программой.
6.2.1.2.1. Установка и настройка JDBC-драйвера для ОС Windows
Чтобы установить JDBC-драйвер и настроить подключение к базам данных в программе Dbeaver, работающей под операционной системой Windows, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите «Базы данных» и нажмите пункт Управление драйверами (см. Рисунок - 6.15).
Рисунок - 6.15 Управление драйверами
В открывшемся окне «Менеджер драйверов» нажмите кнопку Новый (см. Рисунок - 6.16).
Рисунок - 6.16 Окно «Менеджер драйверов»
В открывшемся окне «Создать драйвер» (см. Рисунок - 6.17) заполните следующую информацию:
Имя драйвера:
DtmDriver;Имя класса:
ru.datamart.prostore.jdbc.Driver;Шаблон URL:
jdbc:prostore://{host}:{port}.
Рисунок - 6.17 Окно «Создать драйвер»
Установите маркер в поле «Без авторизации» и «Пустой пароль».
Перейдите на вкладку Библиотека (см. Рисунок - 6.18), нажмите кнопку Добавить файл и укажите путь к jar-файлу JDBC-драйвера.
Рисунок - 6.18 Вкладка «Библиотека»
Нажмите кнопку «Ок».
Проверьте, что драйвер был добавлен в программу. Для этого откройте окно «Менеджер драйверов» (База данных > Управление драйверами) и в поисковой строке введите название драйвера –
DtmDriver(см. Рисунок - 6.19).
Рисунок - 6.19 Поиск DtmDriver в Менеджере драйверов
6.2.1.2.2. Подключение к базе данных
Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:
Откройте Dbeaver.
В главном меню программы выберите пункт База данных > Новое соединение.
В окне «Создать соединение» в поисковой строке введите
dtmdriver(см. Рисунок - 6.20).
Рисунок - 6.20 Установка нового соединения с базой данных
Выберите DtmDriver и нажмите кнопку Далее
В окне «Настройка соединения» (см. Рисунок - 6.21) заполните следующие поля:
Хост- DNS-name или IP адрес сервера базы данных. Например,172.16.0.17.Порт- порт для сервера базы данных, например,9090.
В результате выполненных действий, в поле JDBC URL будет отображено следующее значение jdbc:prostore://172.16.0.17:9090 (см. рис. ниже).
Рисунок - 6.21 Настройка соединения
Нажмите кнопку Тест соединения для проверки подключения.
В случае успешного подключение отобразится сообщение о корректном подключении (см. Рисунок - 6.22).
Рисунок - 6.22 Сообщение об успешном подключении к БД
Закройте окно проверки соединения, для этого нажмите кнопку ОК.
В окне «Настройка базового соединения» нажмите кнопку Готово.
6.2.1.2.3. Установка и настройка драйвера JDBC-драйвер для ОС Linux
(В данном разделе описан процесс установки драйвера в Dbeaver, работающий под управлением операционной системы Linux Ubuntu, версия 20.04).
Чтобы установить драйвер и настроить подключение к базам данных, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите «Database» и нажмите пункт Driver Manager (см. Рисунок - 6.23).
Рисунок - 6.23 Управление драйверами
В открывшемся окне «Driver Manager» нажмите кнопку New (см. Рисунок - 6.24).
Рисунок - 6.24 Окно «Driver Manager»
В открывшемся окне «Create new driver» (см. Рисунок - 6.25) заполните следующую информацию:
Driver Name:
DtmDriver;Class Name:
ru.datamart.prostore.jdbc.Driver;URL Template:
jdbc:prostore://{host}:{port}.
Рисунок - 6.25 Окно «Create new driver»
Установите маркер в поле «No authentication» и «Allow Empty Password».
Во вкладке «Libraries» укажите путь к jar-файлу с JDBC-драйвер.
Нажмите кнопку Ок.
Проверьте, что драйвер был добавлен в программу. Для этого в окне «Driver Manager» в поисковой строке введите название драйвера – DtmDriver (см. Рисунок - 6.26).
Рисунок - 6.26 Окно «Поиск DtmDriver в Driver Manager»
6.2.1.2.4. Подключение к базе данных
Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите пункт Database > Connect to a Database.
В окне «Connect to a Database» в поисковой строке введите
dtmdriver(см. Рисунок - 6.27).
Рисунок - 6.27 Окно Поиск DtmDriver при создании нового подключения
Выберите DtmDriver (см. Рисунок - 6.28).
Рисунок - 6.28 Установка нового соединения с базой данных
В окне «Connection Settings» (см. Рисунок - 6.29) заполните следующие поля:
Хост- DNS-name или IP адрес сервера базы данных. Например,172.16.0.17.Порт- порт для сервера базы данных, например,9090.
Рисунок - 6.29 Настройка базового подключения
Нажмите кнопку «Connection test» для проверки подключения.
В случае успешного подключение отобразится сообщение об успешном подключении (см. Рисунок - 6.30).
Рисунок - 6.30 Сообщение об успешном подключении к БД
Нажмите кнопку Ok
6.2.2. Проверка загрузки данных в БД
Данная проверка описывает возможность загрузки данных и проверку того, что данные были загружены. Для проверки загрузки данных следует выполнить следующие действия:
создать в программе тестовую базу данных
test_upload_dataс тремя таблицами:Passenger,TicketиTrip;проверить, что записи в таблицах отсутствуют;
загрузить через CSV-uploader в таблицы
TicketиTripтестовые данные;проверить, что данные в таблицы
TicketиTripбыли загружены, а в таблицеPassengerзаписи отсутствуют.
Внимание
Проверку загрузки данных следует проводить на тестовом стенде.
Внимание
В случае использования VPN следует проверить его настройки и подключение.
6.2.2.1. Создание тестовой БД
Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД
test_upload_dataотсутствует, для этого выполните следующий sql-запрос:
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
Убедитесь, что БД отсутствует (см. Рисунок - 6.31).
Рисунок - 6.31 Проверка БД test_upload_data: База данных отсутствует
Подготовьте XML-файл (
MetadataRequest_test_upload_data.xml) со следующим содержанием:
<?xml version='1.0' encoding='utf-8'?>
<ns:PODDMetadataRequest
xmlns:ns="urn://x-artefacts-podd-gosuslugi-local/metadata/datamart/2/1.6.0"
xmlns:ns1="urn://x-artefacts-podd-gosuslugi-local/metadata/types/1.4.0">
<ns:requestId>00000000-0000-0000-0000-000000000001</ns:requestId>
<ns:metadata>
<ns1:datamart>
<ns1:id>1806436d-437a-400d-b32e-aa15c1a2d4bc</ns1:id>
<ns1:mnemonic>test_upload_data</ns1:mnemonic>
<ns1:description>test_upload_data</ns1:description>
<ns1:tenantId>c52f062e-af97-4a44-a33f-d1a94024d0cf</ns1:tenantId>
<ns1:version>
<ns1:major>1</ns1:major>
<ns1:minor>0</ns1:minor>
</ns1:version>
<ns1:supportedFrom>2021-01-01T00:00:00</ns1:supportedFrom>
<ns1:datamartClass>
<ns1:id>4c4ff97b-938b-4db6-9f4d-ae21046e4d20</ns1:id>
<ns1:mnemonic>Passenger</ns1:mnemonic>
<ns1:description>Passenger</ns1:description>
<ns1:classAttribute>
<ns1:id>6fe29bdb-7db1-405a-a05c-b49c541c92bd</ns1:id>
<ns1:mnemonic>Code</ns1:mnemonic>
<ns1:description>Code</ns1:description>
<ns1:type>LONG</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>e590e7b3-b611-4891-bbd1-a5e256105e73</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>c97a8102-6ad0-4dbd-934d-c82b83a4d83f </ns1:id>
<ns1:mnemonic>FirstName</ns1:mnemonic>
<ns1:description>FirstName</ns1:description>
<ns1:type>STRING</ns1:type>
<ns1:length>36</ns1:length>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>d2312bfb-7ec0-4c95-9026-0f6dea48c5d9</ns1:id>
<ns1:mnemonic>MiddleName</ns1:mnemonic>
<ns1:description>MiddleName</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>7b63db89-bd0e-4c92-8bc0-e609175937b9</ns1:id>
<ns1:mnemonic>LastName</ns1:mnemonic>
<ns1:description>LastName</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>8f3e7f95-f66b-4d4a-b2eb-55a3e6134c3e</ns1:id>
<ns1:mnemonic>Birthday</ns1:mnemonic>
<ns1:description>Birthday</ns1:description>
<ns1:type>DATE</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>e3658240-b405-4838-99af-d32cd063c463</ns1:id>
<ns1:mnemonic>Passport</ns1:mnemonic>
<ns1:description>Passport</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>6fe29bdb-7db1-405a-a05c-b49c541c92bd</ns1:id>
<ns1:mnemonic>Code</ns1:mnemonic>
<ns1:description>Code</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000001</ns1:id>
<ns1:value>LONG</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
<ns1:datamartClass>
<ns1:id>cafe41db-3878-4796-ba60-cbd54f042c63</ns1:id>
<ns1:mnemonic>Ticket</ns1:mnemonic>
<ns1:description>Ticket</ns1:description>
<ns1:classAttribute>
<ns1:id>bc90563b-168a-4faa-9394-7b7390dd0d92</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>ac93618f-752b-44d5-a77c-23a3c9eb069b</ns1:id>
<ns1:mnemonic>PassengerId</ns1:mnemonic>
<ns1:description>PassengerId</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>51355519-2d59-426e-b199-9589930acaaa</ns1:id>
<ns1:mnemonic>TripId</ns1:mnemonic>
<ns1:description>TripId</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>fe92c245-929e-4684-b9c9-22bda6939c09</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>LONG</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>4a32ded4-c970-4874-b0b1-2e3eed8b6483</ns1:id>
<ns1:mnemonic>ByCard</ns1:mnemonic>
<ns1:description>ByCard</ns1:description>
<ns1:type>BOOLEAN</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>35f59c80-fcc3-483c-9cd3-dc3afb606d66</ns1:id>
<ns1:mnemonic>Price</ns1:mnemonic>
<ns1:description>Price</ns1:description>
<ns1:type>DOUBLE</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>8b46ff55-6853-458c-851d-6e1666da918b</ns1:id>
<ns1:mnemonic>Sold</ns1:mnemonic>
<ns1:description>Sold</ns1:description>
<ns1:type>TIMESTAMP</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>fe92c245-929e-4684-b9c9-22bda6939c09</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000001</ns1:id>
<ns1:value>LONG</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
<ns1:datamartClass>
<ns1:id>76268090-60ee-4960-8268-1b91f4186e87</ns1:id>
<ns1:mnemonic>Trip</ns1:mnemonic>
<ns1:description>Trip</ns1:description>
<ns1:classAttribute>
<ns1:id>bd173e24-ea7e-4869-9d43-9f57f5b0a82f</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>1ed32816-8bdb-4d35-9f66-8c08df13ad28</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>INTEGER</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>78f587fa-b53e-4912-b631-0c4a249d20b6</ns1:id>
<ns1:mnemonic>Duration</ns1:mnemonic>
<ns1:description>Duration</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>1750c564-20a7-4e07-988a-b382227123e4</ns1:id>
<ns1:mnemonic>Length</ns1:mnemonic>
<ns1:description>Length</ns1:description>
<ns1:type>FLOAT</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>1ed32816-8bdb-4d35-9f66-8c08df13ad28</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000002</ns1:id>
<ns1:value>INTEGER</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
</ns1:datamart>
</ns:metadata>
</ns:PODDMetadataRequest>
Откройте web-интерфейс CSV-uploader.
Во вкладке «Загрузка структуры», в поле выбора файла
XMLдля загрузки в Витрину выберите XML-файл (MetadataRequest_test_upload_data.xml) созданный в п.2.Нажмите кнопку «Загрузить» (см. Рисунок - 6.32).
Рисунок - 6.32 Загрузка XML-файла со структурой витрины
В случае успешной загрузки, отобразится сообщение «Структура витрины успешно создана» (см. Рисунок - 6.33).
Рисунок - 6.33 Сообщение «Структура витрины успешно создана»
Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД
test_upload_dataсоздана, для этого выполните запрос:
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
SQL-запрос вернул одну строку, в которой поле SCHEMA_NAME имеет значение TEST_UPLOAD_DATA (см. Рисунок - 6.34).
Рисунок - 6.34 Проверка БД test_upload_data: База данных создана
Убедитесь, что в созданной БД существуют таблицы:
Passenger,TicketиTrip. Для этого выполните запрос к БД:
SELECT *
FROM INFORMATION_SCHEMA.tables
WHERE table_schema = UPPER('test_upload_data');
SQL-запрос вернул записи о созданных логических таблицах (см. Рисунок - 6.35).
Рисунок - 6.35 Проверка таблиц БД
Проверьте количество записей в таблицах:
Passenger,TicketиTrip. Для этого выполните запрос к БД:
SELECT COUNT(*) FROM test_upload_data.passenger;
SELECT COUNT(*) FROM test_upload_data.ticket;
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул нулевое значении (см. Рисунок - 6.36). Это значит, что записи в таблицах отсутствуют.
Рисунок - 6.36 Проверка таблиц БД
6.2.2.2. Загрузка данных
Скачайте CSV-файлы (
tickets.csv,trips.csv).Откройте web-интерфейс CSV-uploader и перейдите на вкладку Загрузка.
Выберите режим «Вставка».
Установите переключатель в режим Автоматическое определение таблицы.
В поле CSV выберите CSV-файлы (
tickets.csvиtrips.csv) для загрузки в БД (см. Рисунок - 6.37).
Рисунок - 6.37 Загрузка данных из CSV-файла
Отобразится сообщение Отправка запроса на загрузку… (см. Рисунок - 6.38).
Рисунок - 6.38 Отправка запроса на загрузку
В случае успешной загрузки файла отобразится сообщение Операция выполнена успешно (см. Рисунок - 6.39).
Рисунок - 6.39 Сообщение «Операция выполнена успешно»
Выполните проверку загрузки данных. Для этого последовательно выполните следующие запросы к БД:
Проверка таблицы passenger
SELECT COUNT(*) FROM test_upload_data.passenger;
SQL-запрос вернул нулевое значении т.к загрузки данных в эту таблицу не было (см. Рисунок - 6.40).
Рисунок - 6.40 Проверка таблицы passenger
Проверка таблицы ticket
SELECT COUNT(*) FROM test_upload_data.ticket;
SQL-запрос вернул значение 5000 (см. Рисунок - 6.41).
Рисунок - 6.41 Проверка таблицы ticket
Проверка таблицы trip
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул значение 500 (см. Рисунок - 6.42).
Рисунок - 6.42 Проверка таблицы trip
С дополнительной информацией по работе с программой Dbeaver (настройка, выполнение запросов, просмотр таблиц и т.д.) можно ознакомиться на официальном сайте разработчика программы https://dbeaver.io/.