Начальная страница

×

  • Начальная страница
  • Следующая

EasyPortal

Руководство по эксплуатации
Версия 1.39
EasyPortal © 2016-2022 компания EasyData


Описание

С 2013 года компания EasyData развивает линейку российских программных продуктов для автоматизации процессов работы с файловыми системами, РСУБД, хранилищами данными и Big Data платформами. EasyPortal успешно работает в ряде крупных проектов российских компаний в качестве ETL/ELT/Cron платформы и управляет потоками данных десяток терабайт в сутки на хранилищах данных в сотни терабайт. Все продукты зарегистрированы в Российском Реестре Программного Обеспечения.
Платформа EasyPortal покрывает большую часть задач проектов хранилищ данных и сразу предоставляет готовое решение для разработки проектов хранилищ данных и управлением выполнением задач на технической инфраструктуре промышленной среды:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Используемые компоненты

Все продукты EasyPortal разработаны на open source платформе Open Java 11 (https://openjdk.java.net).
В работе используются следующие библиотеки, фреймворки и компоненты в рамках правил их лицензирования:
  • •
    Apache Groovy: open source совместимый с Java язык программирования (https://www.groovy-lang.org)
  • •
    Spring Framework: open source фреймворк для Java платформы (https://spring.io)
  • •
    GETL: open source фреймворк разработки ETL процессов для Java платформы (https://github.com/ascrus/getl)
  • •
    Webix: open source фреймворк визуальных компонент Java Script (https://ru.webix.com)
  • •
    Quartz Scheduler: open source библиотека запуска процессов по расписанию (https://github.com/quartz-scheduler/quartz)
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Администрирование

Перед началом установки продуктов EasyPortal убедитесь, что Ваша среда соответствует техническим требованиям и установленная ОС поддерживается продуктами EasyPortal.

Содержание Администрирование

Требования к системе
Установка и обновление клиентской части EasyClient для ОС Windows, Linux и MacOS
Установка и обновление серверной части EasyWebServer для ОС Windows
Установка и обновление серверной части EasyWebServer для ОС Linux
Интеграция с EasySheduler
Подключение к EasyPortal
Управление EasyPortal
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Требования к системе

Поддерживаемые операционные системы

ОС Windows: 7 SP1/8/8.1/10/11 или Windows Server 2012/2012R2/2016/2019
ОС Linux: Cenos 6.9/7.4/8 или RHEL 6.9/7.4/8 или SLES 12 или Ubuntu 16.04/18.04/20.04
ОС macOS (*): OSX 10.10+ (x64)
* Только для инсталляции EasyClient

Требования к аппаратной части

Продукт | Процессор | Доступная память (*) | Свободное дисковое пространство
EasyPortal WebServer | от 4 ядер | от 4 гб | от 10 гб
EasyPortal Client | от 2 ядер | от 2 гб | от 5 гб
EasyScheduler | от 4 ядер | от 2 гб | от 10 гб
EasyRuntime | от 4 ядер | от 1 гб | от 10 гб
* Не учитывая память, которая потребуется для отладки пользователями процессов workflow репозиториев EasyPortal или программ ОС при их вызове с EasyRuntime.

Требования к установленному ПО

Для запуска рабочего места на Linux должен быть установлен и настроен X-Server.

Требования к Firewall

Для удаленной работы пользовательских машин с сервером EasyWebServer должен быть открыт порт 9050.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Установка и обновление клиентской части EasyClient для ОС Windows, Linux и MacOS

Скачайте последнюю версию EasyClient для нужной ОС с сайта easyportal.ru и запустите инсталлятор. В случае предупреждения Windows Defender о безопасности установки выберите "Дополнительно" и "Разрешить установку". Все программное обеспечение компании EasyData зарегистрировано в центре сертификации ПО и гарантирует безопасное выполнение. Для проверки сертификата откройте в проводнике Windows свойства файла инсталляции и убедитесь, что во вкладке "Цифровые подписи" присутствует сертификат "IZIDATA":
Нажмите кнопку Далее на первом экране:
Прочитайте и примите лицензионное соглашение:
Если ранее программа была установлена, то появится экран запроса обновление установки. При выборе новой инсталляции будет создана новая копия рабочего места:
Выберите путь установки (разрешается установка в пользовательский каталог без прав администратора):
Для создания ярлыка на рабочем столе пользователя поставьте галочку:
Дождитесь окончания установки:
После установки в командной строке появятся программы:
  • •
    В командной строке:
  • •
    EasyLoader - консольная программа для запуска задач репозитория EasyPortal;
  • •
    GroovyConsole - визуальная консоль Groovy для интерактивной работы с объектами репозитория EasyPortal;
  • •
    В меню Пуск группы EasyData EasyPortal:
  • a.
    EasyWorkspace - рабочее место для запуска и работы с локальными репозиториями EasyPortal и с центром управления задачами EasyScheduler;
  • •
    GroovyConsole - визуальная консоль Groovy для интерактивной работы с объектами репозитория EasyPortal.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Установка и обновление серверной части EasyWebServer для ОС Windows

Скачайте последнюю версию EasyWebServer для Windows с сайта easyportal.ru и запустите инсталлятор. В случае предупреждения Windows Defender о безопасности установки выберите "Дополнительно" и "Разрешить установку". Все программное обеспечение компании EasyData зарегистрировано в центре сертификации ПО и гарантирует безопасное выполнение. Для проверки сертификата откройте в проводнике Windows свойства файла инсталляции и убедитесь, что во вкладке "Цифровые подписи" присутствует сертификат "IZIDATA":
Нажмите кнопку Далее на первом экране:
Прочитайте и примите лицензионное соглашение:
Если ранее программа была установлена, то появится экран запроса обновление установки. При выборе новой инсталляции будет создана новая копия рабочего места:
Выберите путь установки (установка требует права администратора):
Для автоматического старта сервиса Windows после установки EasyPortal поставьте галочку:
Дождитесь окончания установки:
После установки в командной строке появятся программы:
  • •
    В командной строке:
  • •
    EasyLoader - консольная программа для запуска задач репозитория EasyPortal;
  • •
    В меню Пуск группы EasyData EasyPortal:
  • a.
    EasyWorkspace - рабочее место для запуска и работы с локальными репозиториями EasyPortal и с центром управления задачами EasyScheduler;
  • •
    GroovyConsole - визуальная консоль Groovy для интерактивной работы с объектами репозитория EasyPortal.
Проверьте работоспособность сервера после инсталяции и запуска сервиса. Для этого в браузере откройте ссылку: https://localhost:9050
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Установка и обновление серверной части EasyWebServer для ОС Linux

Скачайте последнюю версию EasyWebServer для Linux с сайта easyportal.ru, скопируйте на сервер установочный пакет .

RedHat/CentOS

Установка

Для новой установки службы easyportal.service в командной строке запустите следующую команду:
sudo dnf install /Путь/EasyPortalService_linux_1_38.rpm
где "Путь" это путь до пакета инсталяции. В ходе инсталляции нажмите Y.

Обновление

Для обновления версии службы easyportal.service в командной строке запустите следующую команду:
sudo dnf update /Путь/EasyPortalService_linux_1_38.rpm
где "Путь" это путь до пакета инсталяции. В ходе инсталляции нажмите Y.

Debian

Установка

Для новой установки службы easyportal.service в командной строке запустите следующую команду:
sudo apt install /Путь/EasyPortalService_linux_1_38.deb
где "Путь" это путь до пакета инсталяции. В ходе инсталляции нажмите Y.

Обновление

Для обновления версии службы easyportal.service в командной строке запустите следующую команду:
sudo apt upgrade /Путь/EasyPortalService_linux_1_38.deb
где "Путь" это путь до пакета инсталяции. В ходе инсталляции нажмите Y.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Интеграция с EasySheduler

Для организации запуска задач по расписанию и контролем за их выполнением EasyPortal включает в себя центр управления задачами EasyScheduler. Продукт позволяет подключить все эксплуатирующиеся сервера в единый интерфейс и управлять выполнением на них задач:

Установка пакета EasyLoader

Для запуска задач, разработанных в репозитории EasyPortal требуется установить инсталляцию runtime компонента выполнения задач EasyLoader как пакет EasyScheduler. Для этого скачайте пакеты EasyLoader для нужной платформы ОС с сайта https://www.easyportal.ru. Подключитесь к EasyScheduler в браузере или через EasyWorkspace под пользователем с правами администратора и перейдите в пакеты:
Добавьте новый простой пакет с названием "EL_WIN":
P.S. Можно задать любое имя пакету, в данном случае здесь в качестве имени указанно сокращенное EasyLoader for WINdows.
Загрузите в пакет скаченный EasyLoader для ОС Windows:
Аналогичным образом создайте новый пакет "EL_LIN" и загрузите в него скаченный EasyLoader для Linux:
Переключитесь в "Настройки" и выберите там "Шаблоны":
Добавьте новый шаблон "EasyLoader для Windows":
В строку выполнения шаблона вбейте:
[EL_WIN]/EasyLoader/easyloader workflow=?
Аналогично добавьте новый шаблон "EasyLoader for Linux":
В строку выполнения шаблона вбейте:
[EL_LIN]/EasyLoader/easyloader workflow=?

Запуск задач c репозитория EasyPortal

Чтобы запускать задачи потребуется загрузить объекты репозитория EasyPortal в EasyScheduler. Для этого в панели администратора EasyPortal выгрузите репозиторий в zip файл и загрузите его как пакет EasyScheduler в нужный проект:
Теперь можно добавлять на выполнение в EasyScheduler задачи EasyPortal:
Для этого потребуется при создании новой задачи:
  • 1.
    Выбрать в пакете задачи загруженный пакет репозитория;
  • 2.
    Нажать на кнопку шаблонов и выбрать шаблон, который соответствует ОС рантайм сервера;
  • 3.
    Вместо "workflow=?" вписать "workflow=имя задачи в репозитории".
После создания Вы можете добавить задачи триггера и правила, запустив задачу в автоматическое выполнение по заданному расписанию.

Обновление версии EasyLoader

Для обновления EasyLoader скачайте новую версию под нужную ОС с сайта https://www.easyportal.ru и добавьте новую версию в нужный пакет (EL_WIN или EL_LIN).

Обновлении репозитория EasyPortal

Для обновления репозитория с задачами EasyPortal в панели администратора EasyPortal скачайте новый пакет репозитория и загрузите полученный zip файл в пакет репозитория EasyScheduler.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Подключение к EasyPortal

Работа в локальным сервером с помощью EasyWorkspace

Для подключения к установленной локальной версии сервера запустите EasyWorkspace, в меню "Favorites" выберите пункт "EasyData" и подпункт "EasyClient":
Автоматически стартует локальный сервис, где будет показываться лог его работы до полного запуска:
После полной загрузки интерфейс переключится на локальный веб интерфейс и выйдет приглашение регистрации.

Работа с удаленным сервером EasyWebServer с помощью EasyWorkspace

Для подключения к EasyWebServer запустите EasyWorkspace, в меню "File" выберите пункт "Open" и введите URL подключения к серверу:
Где sever1 адрес хоста установленного сервера. При нажатии "OK" откроется интерфейс доступа к серверу. Для сохранения закладки к серверу в фаворитах в меню "File" выберите пункт "Save to favorites" и в открывшемся окне введите "ИмяГруппы/Имя вкладки":
P.S. Имя группы вводится обязательно и разделяется от имени сохраненной вкладки слэшем.

Работа с удаленным сервером EasyWebServer с помощью браузеров

В своем браузере введите URL подключения к серверу "https://sever1:9050", где sever1 - хост сервера EasyWebServer. После появления окна интерфейса сохраните вкладку в Избранное.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Управление EasyPortal

После первичной инсталляции EasyPortal при подключении к нему появится окно регистрации его администратора. Заполните все поля и нажмите "Создать":
P.S. Указывайте работающий почтовый ящик, чтобы можно было получать уведомления от портала и восстановить при необходимости доступ к системе.
После регистрации и успешной авторизации открывается рабочее пространство EasyPortal. Для управления функциями портала используйте управляющую панель кнопок справа сверху:

Панель администрирования

1. Панель администрирования
Управление репозиториями, пользователями, глобальными переменными и библиотеками шаблонов.
Наверх

Работа в репозитории

2. Работа в репозитории
Работа с объектами выбранного репозитория.
Наверх

Выбор репозитория

3. Выбор репозитория
Выбрать для работы репозиторий.
Наверх

Информация о лицензии

4. Информация о лицензии
Просмотреть текущую лицензию репозитория.
Наверх

Профиль пользователя

5. Профиль пользователя
Изменить данные профиля или выйти с него.
Наверх

Содержание Управление EasyPortal

Добавление пользователей портала
Добавление глобальных переменных портала
Регистрация библиотек шаблонов
Управление репозиториями
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Добавление пользователей портала

Перейдите в панель администрирования, выберите список пользователей и нажмите кнопку создания (+):
Введите описание нового пользователя:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Добавление глобальных переменных портала

Чтобы жестко не привязывать работу задач к абсолютному пути файловой системы рекомендуется использовать переменные ОС (environments). В таком случае разрабатываемая задача будет использовать в файловом пути {Переменную}, в которую будет подставляться текущее значение переменной ОС. Это позволит запускать разработанную задачу на любой машине, вне зависимости от среды: от разработки и тестирования до промышленной эксплуатации и без привязки к ОС. Если по каким то причинам в текущей инсталляции EasyPortal не удается создать переменную среды ОС (например, не хватает прав администратора), но эта переменная должна быть использована в репозитории, можно эмулировать её присутствие с помощью глобальных переменных EasyPortal.
Для добавления глобальной переменной перейдите в панель администрирования и нажмите кнопку создания (+):
P.S. Имена переменных являются регистрозависимыми. Для локальной инсталяции EasyClient можно также создавать пользовательские переменные ОС для Windows и в Linux.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Регистрация библиотек шаблонов

EasyPortal включает в себя библиотеку шаблонов EasyLoader, в которую входит множество скриптов с алгоритмами работы с файловыми системами, обработкой данных РСУБД и расширенной работой с хранилищами данных на базе платформа Micro Focus Vertica. Если в рамках задач проекта требуется расширить функциональность дополнительными шаблонами, то после их разработки и сборки в jar файлы, они упаковываются в zip архив и могут быть подключены для работы в портал.
Для подключения разработанной библиотеки шаблонов перейдите в панель администрирования, выберите библиотеки шаблонов и нажмите кнопку создания (+). После выбора zip файла библиотека с прописанным в её конфигурации именем будет подключена к порталу и доступна для работы с её скриптами в репозиториях.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Управление репозиториями

Вся работа с источниками данных и задачами описывается в репозитории EasyPortal. Репозиторий представляет из себя файловое хранилище описания объектов (метаданных) по указанному пути. Одна инсталляция EasyPortal может иметь более одного репозитория, между которыми можно переключаться при работе. В одном директории может храниться только один репозиторий. Если требуется командная работа с репозиторием различных пользователей с их машин, то репозиторий регистрируется для хранения в системе контроля версий Git, где пользователи могут получать и сохранять его изменения. В ходе разработки можно создавать новые ветки в Git, чтобы разделить разработку новых задач и сопровождение существующих в проекте. Таким образом, даже в локальной инсталяции портала EasyClient может быть много репозиториев, как для разных проектов, так и для одно проекта, но его разных версий.

Создание нового репозитория

Для добавления нового репозитория перейдите в панель администрирования, выберите репозитории и нажмите кнопку создания (+):
Свойства репозитория:
  • •
    Имя - имя, под которым репозиторий будет зарегистрирован в портале. Если используется Git, то к имени можно дописать имя ветки Git, чтобы в дальнейшем не путаться в именах, если будет подключено несколько разных каталогов разных веток одного Git проекта;
  • •
    Путь - полный путь хранения в файловой системе файлов репозитория. Если каталог не существует, он будет создан. Если в каталоге уже есть файлы другого репозитория, будет выдана ошибка.
  • •
    Пароль - пароль кодирования персональной информации, хранящейся в репозитории. Длина пароля должна быть не менее 16 и не более 32 букв. Обязательно запишите пароль себе в защищенное место, при утере пароля изменение параметров репозитория будет невозможным;
  • •
    Среда по умолчанию - стенд, на котором будет работать репозиторий при запуске отлаживаемых задач. Если требуется запускать задачи на другом стенде, рекомендуется сделать отдельную ветку в Git (например test) и клонировать её в отдельный директорий, подключив новым репозиторием и указав там другую среду по умолчанию;
  • •
    Стенды репозитория - список стендов, которые используются для разработки, тестирования и промышленной эксплуатации. Рекомендуемый минимальный набор стендов dev (разработка) и prod (промышленная эксплуатация).
P.S. После работы с репозиторием в случае командной работы не забывайте закоммитить изменения в Git и сделать push, чтобы другие пользователи смогли их увидеть.

Импорт или изменение существующего репозитория

Если требуется подключиться к существующему репозиторию, который уже есть в директории (например был получен с Git проекта от другого разработчика), то нажмите в списке репозиториев кнопку "Импорт". Для изменения существующего репозитория нажмите кнопку "Изменить":
Правила импорта или изменения существующих репозиториев:
  • •
    Если владелец репозитория не передал вам пароль доступа к нему, то при импорте Вы можете задать имя репозитория и выбрать среду по умолчанию;
  • •
    Если Вам известен пароль репозитория, то указав этот пароль можно изменить параметры все репозитория.
P.S. Если Вы изменили параметры репозитория, не забудьте закоммитить изменения в Git и сделать push, чтобы другие пользователи смогли их увидеть.

Удаление репозитория

Для удаления репозитория в списке репозиториев нужно нажать кнопку "Удалить". При удалении он пропадает с видимости портала, но его файлы остаются на диске. При необходимости можно сделать импорт репозитория, чтобы подключить его обратно.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Примеры работы

После создания репозитория в портале в нём можно начинать разработку задач проекта:

Порядок действий

  • 1.
    Для работы с источниками требуется описать подключение к ним для каждого стенда, определенного для репозитория;
  • 2.
    Для обработки данных источников требуется описать их структуру или импортировать её описание с источника, если он поддерживает это. Если описываются новые объекты хранения данных, то после описания потребуется их создать на источнике;
  • 3.
    Для того, чтобы использовать описанные в репозитории данные источников требуется разработать модели работы с ними, в которых нужно связать между собой объекты источников, их поля и указать правила обработки, которые потребуются для правильной работы скриптов шаблонов;
  • 4.
    Последовательность шагов действий с помощью вызовов разных скриптов шаблонов и параметров для их выполнения описывается в задачах. Для выбираемых скриптов библиотек шаблонов в документации подробно описаны требования к моделям и правила заполнения параметров. Там же можно для шагов указать дополнительную логику на языке Getl для проверок условий необходимости запуска шагов задачи, инициализации перед выполнением эталонных данных и проверок после выполнения при запуске в тестовой среде;
  • 5.
    Для облегчения проведения тестирования создаются модели эталонных данных и файлов. После их создания можно вызвать их развертывание в нужных таблицах и директориях перед запуском процессов в задачах и сверить по ним полученный результат после окончания работы;
  • 6.
    Для переноса разработанных задач репозитория в промышленную эксплуатацию в панели администрирования для репозитория генерируют zip файл и загружают его в пакет EasyScheduler.

Правила именования объектов репозитория

Все объекты внутри репозитория именуются по правилам синтаксиса:
ИмяГруппы1[.ИмяГруппы2[.ИмяГруппыN]]:ИмяОбъектаВнутриГруппы
В имени объекта обязательно должна присутствовать имя группы, разделенное с ним двоеточием. Если требуется группировку объектов в рамках иерархии групп, в имени группы их следует разделять точкой. В имени объекта не разрешается использовать пробелы и спец символы (решетки, знак доллара, амперсант и т.д.).

Содержание Примеры работы

Настройка демонстрационного репозитория DEMO
Копирование данных из таблиц БД в файлы
Генерация эталонных данных
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Настройка демонстрационного репозитория DEMO

Переключитесь в панель администрирования, выберите глобальные переменные и добавьте новую переменную DEMO_PATH:
  • •
    В значении укажите путь к новой директории, где будут храниться файлы примеров;
  • •
    Создайте такой директорию в файловой системе.
После сохранения переменной она появится в списке глобальных переменных:
Переключитесь в репозитории. Создайте новый репозиторий demo:
  • •
    Укажите в пути новый директорий, где будет хранится репозиторий. Портал должен иметь к нему доступ и права на создание и запись директориев и файлов;
  • •
    Укажите пароль от 16 до 32 символов (например "easyportal demo password");
  • •
    В список стендов репозитория добавьте стенды dev и prod, выберите dev по умолчанию.
    Во вкладке "Глобальные переменные" добавьте переменную "DEMO_PATH":
После сохранения репозиторий появится в списке:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Копирование данных из таблиц БД в файлы

Для работы с примерами данного раздела выполните шаги из раздела Настройка демонстрационного репозитория DEMO.
Для работы с объектами репозитория в управляющей панели переключитесь на репозиторий DEMO:
Копирование данных из таблиц БД в файлы

Переключение на текущий репозиторий для работы

1. Переключение на текущий репозиторий для работы
Переключает в режим работы с объектами последнего используемого репозитория.
Наверх

Выбор репозитория для работы

2. Выбор репозитория для работы
Выбрать для работы нужный репозиторий и переключиться в режим репозитория для работы с его объектами.
Наверх

Содержание Копирование данных из таблиц БД в файлы

Создание подключения к файловому источнику CSV
Создание подключения к РСУБД H2
Создание скриптов инициализации БД H2
Создание задачи инициализации БД H2
Импорт созданных таблиц из БД H2 в репозиторий
Создание модели генерации данных в H2 таблицы
Создание задачи генерации данных в H2 таблицы
Экспорт структуры H2 таблиц в файловый источник CSV
Создание модели маппинга данных H2 таблиц и CSV файлов
Создание задачи копирования данных с таблиц в CSV файлы
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание подключения к файловому источнику CSV

Щелкните в дереве групп репозитория на Connections и в гриде нажмите на кнопку Создать:
Создайте новое файловое соединение "csv:con", где csv это название группы в дереве, con название соединения в этой группе, выбрав для него тип соединения "getl.csv.CSVConnection":
После нажатия кнопки "Создать" откроется редактор нового соединения:
Для стенда dev:
  • •
    Укажите путь к файлам "{DEMO_PATH}/csv". Во время работы с файлами источника сюда будет подставляться путь, определенный в глобальной переменной DEMO_PATH;
  • •
    Поставьте в расширение "csv". При создании файлов к их именам автоматически это расширение будет добавлено;
  • •
    Включите флаг создания пути, чтобы при первом обращении к каталогу он был создан;
  • •
    Включите флаг заголовка полей, чтобы первой строкой в CSV файлах шли имена полей;
  • •
    Остальные поля оставьте по умолчанию без изменений.
Для стенда prod:
Проделайте те же действия, так как файловый источник имеет относительный путь через переменную и при работе на разных серверах зоны разработки и промышленной эксплуатации достаточно проставить разный путь в эту переменную.
Нажмите кнопку "Сохранить" и после успешного сохранения кнопку "Закрыть". В дереве репозитория появится новое соединение "csv:con":
P.S. В пути соединения будет показан реальный путь, собранный с учетом выражения из глобальной переменной "DEMO_PATH". Если поменять значение этой переменной, то путь соединения тоже поменяется.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание подключения к РСУБД H2

По аналогии с CSV соединением создайте новое H2 соединение "h2:con", выбрав для него тип соединения "getl.h2.H2Connection":
После нажатия кнопки "Создать" откроется редактор нового соединения:
Для стенда dev:
  • •
    Укажите в БД сервера "{DEMO_PATH}/h2/db". В этом файле будет создана локальная база данных. При работе с БД файлом сюда будет подставлен путь, определенный в глобальной переменной репозитория DEMO_PATH;
  • •
    Включите флаг работы хранимых процедур. При выполнении SQL скриптов на этом источнике будет разрешено использовать встроенный в портал язык хранимых процедур Getl;
  • •
    Включите флаг заголовка полей, чтобы первой строкой в CSV файлах шли имена полей;
  • •
    Укажите в авторизации логин "sa" и пароль "demo";
  • •
    Нажмите кнопку "Test", чтобы убедиться, что соединение к БД проходит успешно.
Для стенда prod:
Проделайте те же действия, что и для стенда dev.
Нажмите кнопку "Сохранить" и после успешного сохранения кнопку "Закрыть". В дереве репозитория появится новое соединение "h2:con":
P.S. В пути соединения показан реальный путь, собранный с учетом выражения из глобальной переменной "DEMO_PATH". Если поменять значение этой переменной, то путь соединения в списке соединений тоже поменяется.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание скриптов инициализации БД H2

Зайдите в проводнике в директорий, куда был создан репозиторий и создайте в нем новый директорий "sql":
В директории "sql" создайте новый файл "init-h2.sql", заполнив его следующим текстом:
ECHO Инициализация БД H2 ...
CREATE SCHEMA IF NOT EXISTS DEMO;
CREATE TABLE IF NOT EXISTS DEMO.DIM (
ID INT NOT NULL PRIMARY KEY,
NAME VARCHAR(50) NOT NULL
);
CREATE TABLE IF NOT EXISTS DEMO.FACT (
DIM_ID INT NOT NULL,
DT TIMESTAMP NOT NULL,
VALUE NUMERIC(12, 2)
);
ECHO Готово.
После сохранения файл с SQL скриптом станет доступным в репозитории. Для того, чтобы увидеть новые директории и файлы репозитория, обновите дерево групп репозитория кнопкой обновить сверху и выберите в дереве Repositories Files/sql:
Создание скриптов инициализации БД H2

Обновление дерева репозитория

1. Обновление дерева репозитория
Перечитывает структуру групп объектов репозитория
Наверх

Файлы репозитория

2. Файлы репозитория
Дополнительные внешние директории и файлы репозитория
Наверх
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание задачи инициализации БД H2

Встаньте в дереве объектов репозитория на раздел "Workflows" и в гриде нажмите "Создать":
Введите имя "demo:init". Задача будет создана в группе demo с именем init. После нажатия кнопки "Создать" откроется редактор задачи:
На главной вкладке задачи можно вбить описание задачи, которое потом отобразиться в списке задач. Переключитесь на вкладку "Процессы" и на главном шаге задачи "STEP 1" нажмите правой кнопкой мышки:
Выберите "ADD SCRIPT". В главный шаг будет добавлен скрипт для выполнения:
Нажмите кнопку с тремя точками справа от поля "Шаблон", чтобы выбрать нужный шаблон процесса задачи и в открывшемся окне выберите шаблон RunSql:
После нажатия кнопки "Выбрать" в скрипте задачи появятся параметры выбранного процесса:
  • •
    В параметр "connection" вбейте имя ранее созданного соединения "h2:con" или выберите его с помощью кнопки параметра с тремя точками;
  • •
    В параметр "sql_file_path" вбейте путь к созданному файлу SQL скрипта репозитория "repository:/sql/init-h2.sql". Так как файл находится в репозитории, то для него не нужно писать абсолютный путь, достаточно указать, что он находится в "repository:/".

Теперь можно выполнить созданную задачу на dev стенде. Для этого переключитесь во вкладку "Отладка" и нажмите кнопку запуска задачи:
После завершения работы джоба в БД будут созданы схема и две таблицы.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Импорт созданных таблиц из БД H2 в репозиторий

Для того, чтобы работать в портале с наборами данных (датасетами), требуется сформировать их описание в метаданных каталога объектов. Для существующих объектов РСУБД возможно автоматическое получение их структуры с источника. Для этого в дереве объектов встаньте на "Datasets" и нажмите кнопку "Импорт":
Введите имя группы "h2.demo", куда будут импортироваться таблицы и выберите соединение "h2:con":
Нажав кнопку "Далее", выберите все таблицы со схемы "DEMO":
После нажатия кнопки "Импорт" таблицы появятся в репозитории в группе h2, подгруппе demo:
P.S. При импорте таблиц в качестве имен объектов репозитория берутся их имена, определенные в БД источника. Если в именах содержаться запрещенные в правилах именования объектов репозитория символы, они заменяются на подчеркивание.
Для проверки корректности импорта два раза щелкните на таблице "dim" или нажмите кнопку "Изменить"на панели грида. Откроется редактор таблицы:
Во вкладке полей таблицы будут перечислены все полученные с БД поля:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание модели генерации данных в H2 таблицы

Для генерации случайных данных в подключенные к репозиторию таблицы требуется создать модель трансформации с перечислением таблиц и правил их заполнения. Для этого в дереве объектов переключитесь на группу "Model of dataset groups" и нажмите кнопку "Создать":
Введите имя новой модели "random.h2:demo" и выберите соединение для модели "h2:con":
После нажатия кнопки "Создать" откроется окно редактирования модели:
Перейдите в вкладку "Таблицы" и нажмите кнопку "Добавить" для добавления таблиц в модель:
Выберите все таблицы из группы "h2.demo":
P.S. Для выбора множества объектов по очереди можно зажать Ctrl и выбирать левым щелчком мыши. Для выбора всех объектов можно встать на первый в списке и зажав на Shift выбрать последний объект в списке левым щелчком мыши.
После нажатия кнопки "ОК" таблицы будут добавлены в модель. Встаньте в списке таблиц на таблицу "h2.demo:dim", переключитесь справа на вкладку "Атрибуты" и добавьте следующие атрибуты:
Расшифровка атрибутов:
  • •
    count_rows - количество генерируемых записей в таблицу
Переключитесь на маппинг полей и добавьте для поля "ID" правило "identity: true":
P.S. Включение identity для поля означает, что оно будет заполняться не случайными числами, а последовательными, начиная с единицы.
Встаньте на таблицу "h2.demo:fact" и во вкладке "Атрибуты" добавьте следующие атрибуты:
Переключитесь на вкладку "Маппинг" и введите следующие правила для полей таблицы:
Для более удобного заполнения маппинга полей можно нажать на кнопку редактора маппинга (выделена на скриншоте выше):
Расшифровка правил генерации в маппинге полей:
  • •
    minValue: генерировать случайное число не менее указанного (указываем 1, чтобы вписаться в предел значений ID справочника);
  • •
    maxValue: генерировать случайное число не более указанного (указываем 100, чтобы вписаться в предел значений ID справочника);
  • •
    days: генерировать дату и время в пределах количества указанных дней от текущей даты;
  • •
    abs: генерировать только положительные числа.
После завершения работы сохраните и закройте модель. Она появится в списке моделей репозитория:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание задачи генерации данных в H2 таблицы

Создайте новую задачу "demo:generate":
Переключитесь в редакторе созданной задачи во вкладку "Процессы" и добавьте в главный шаг "STEP 1" новый скрипт:
Встаньте на добавленный скрипт, нажмите на кнопку выбора шаблона и выберите шаблон "GenerateRandomData":
Добавьте в параметр "model" созданную модель "random.h2:demo" с помощью ввода имени в текстовое поле или выбрав ее с помощью кнопок вызова редактора параметров с тремя точками:
Расшифровка параметров:
  • •
    clear_tables - очистить таблицы перед заливкой в них сгенерированных данных;
  • •
    count_threads - генерировать в 2 таблицы модели одновременно (многопоточная работа);
  • •
    model - имя модели трансформации со списком таблиц для генерации данных и правилами их заполнения.
Для проверки работы задачи и генерации данных, переключитесь в задаче во вкладку "Отладка" и нажмите "Запуск":
После сохранения и закрытия редактора задачи, она станет доступной в списке задач:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Экспорт структуры H2 таблиц в файловый источник CSV

Для того, чтобы структуры источника данных скопировать в приёмник данных требуется выполнить экспорт описания датасетов репозитория. Для этого в дереве объектов выберите нужную группу датасетов в "Datasets", пометьте в ней требуемые объекты и нажмите кнопку "Экспорт":
Введите имя группы назначения "csv.demo" и выберите соединение "csv:con":
После экспорта в группе "csv.demo" появятся новые датасеты для выбранного соединения приёмника данных:
При экспорте структур данных в файловые источнике рекомендуется изменить им имя файла с генерируемого по умолчанию. Для этого откройте для редактирования "csv.demo:dim" и поменяйте имя файла на "demo_dim":
Сохраните изменения и аналогично поменяйте в датасете "csv.demo:fact" имя файла на "demo_fact".
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание модели маппинга данных H2 таблиц и CSV файлов

Для копирования данных с источника в приёмник требуется описать правила копирования в модели маппинга. Встаньте в дереве объектов на группу "Models of mapping datasets" и нажмите кнопку "Создать":
Введите имя модели "demo:h2_to_csv" и выберите источником модели соединение "h2:con":
Нажмите кнопку "Далее" и выберите приёмником модели соединение "csv:con":
После нажатия кнопки "Создать" откроется редактор моделей:
Переключитесь в вкладку "Таблицы" и нажмите кнопку "Добавить":
В открывшемся окне выберите таблицы из группы "h2.demo":
Встаньте на таблицу модели "h2.demo:dim" и укажите в качестве приёмника "csv.demo:dim" в текстовом поле или выбрав с помощью кнопки с тремя точками. В маппинге полей добавьте поле "NAME" и поставьте в источник выражение преобразования "${source.name.toUpperCase()}":
Дополнение:
  • •
    Значения в маппинге можно вводить как в гриде, так и вызывать с помощью кнопки редактирования более функциональный редактор маппинга;
  • •
    Если в маппинге полей модели не указываются поля приёмника, которые по именам присутствуют в источнике, то они автоматически связываются во время выполнения копирования данных;
  • •
    Если при копировании данных требуется преобразовать поле источника, то вместо имени поля источника описывается выражение как "${выражение Groovy}", где можно обращаться к полям источника в форме "source.ИмяПоля".
Переключитесь на таблицу модели "h2.demo:fact" и поставьте ей приёмником датасет "csv.demo:fact":
После сохранения модели она появится в списке:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание задачи копирования данных с таблиц в CSV файлы

Создайте новую задачу "demo:h2_to_csv":
Переключитесь в редакторе созданной задачи во вкладку "Процессы" и добавьте в главный шаг "STEP 1" новый скрипт:
Встаньте на добавленный скрипт, нажмите на кнопку выбора шаблона и выберите шаблон "CopyToCsv":
Укажите в параметре скрипта "model" имя ранее созданной модели маппинга "demo:h2_to_csv" и установите количество одновременной обработки таблиц в параметре "count_threads" в 2:
Для проверки работы задачи и копированию данных из таблиц в CSV файлы, переключитесь в задаче во вкладку "Отладка" и нажмите "Запуск":
После сохранения и закрытия задачи она появится в списке задач:
В созданном директории хранения CSV файлов по пути "{DEMO_PATH}/csv" так же появятся записанные файлы:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Генерация эталонных данных

Для работы с примерами данного раздела должны быть выполнины шаги из раздела Копирование данных из таблиц БД в файлы.

Содержание Генерация эталонных данных

Создание файловых менеджеров эталонных и рабочих CSV файлов
Создание задачи для генерации архива эталонных CSV файлов
Создание модели эталонных CSV файлов
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание файловых менеджеров эталонных и рабочих CSV файлов

Щелкните в дереве групп репозитория на File servers и в гриде нажмите на кнопку Создать:
Создайте новый файловый менеджер "local:references" с типом "getl.files.FileManager":
После нажатия кнопки "Создать" откроется редактор файлового менеджера:
На стенде "dev" проделайте следующие действия:
  • •
    Вставьте в путь к файлам значение "{DEMO_PATH}/references". При работе файловый менеджер будет заменять переменную DEMO_PATH на значение глобальной переменной;
  • •
    Включите флаг создания корневого пути.
Создайте новый файловый менеджер "local:csv" с типом "getl.files.FileManager":
В открывшемся редакторе файлового менеджера заполните поле пути к файлам значением "{DEMO_PATH}/csv":
После сохранения файловых менеджеров они появятся в списке:
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание задачи для генерации архива эталонных CSV файлов

Создайте новую задачу "demo:create_references_archive_csv":
Переключитесь в редакторе созданной задачи во вкладку "Процессы" и добавьте в главный шаг "STEP 1" новый скрипт:
Встаньте на добавленный скрипт, нажмите на кнопку выбора шаблона и выберите шаблон "ArchiveFiles":
Заполните параметры скрипта следующими параметрами:
  • •
    archiveFileName: csv.zip
  • •
    destination_manager: local:references
  • •
    source_file_mask: *.csv
  • •
    source_manager: local:csv
Запустите в вкладке "Отладка" задачу, чтобы проверить работу и сгенерировать архив:
После сохранения и закрытия задачи она появится в списке задач:
В пути демо примеров, определенных в переменной "DEMO_PATH" появится архив "csv.zip":
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData


Создание модели эталонных CSV файлов

Щелкните в дереве групп репозитория на Models of reference files и в гриде нажмите на кнопку Создать:
Введите имя модели "test:csv" и выберите файловый менеджер хранения эталонных файлов "local:references":
Нажмите кнопку "Далее" и на следующем экране выберите файловый менеджер файлов приёмника CSV "local:csv":
После нажатия кнопки "Создать" откроется редактор модели эталонных файлов. Введите в команду ОС значение "{EASYPORTAL_HOME}/utils/7z x -y -bd {file}":
В вкладке "Файлы" нажмите кнопку "Добавить" и введите в поле "Файл источника" значение "csv.zip":
После сохранения и закрытия модели она появится в списке:
Для проверки разворачивания файлов эталонной модели нажмите на панели кнопку "Заполнить":
Создание модели эталонных CSV файлов

Вызвать разворачивание файлов из архива модели в целевую директорию источника

1. Вызвать разворачивание файлов из архива модели в целевую директорию источника
Наверх
Поставьте флаг очистки исходного директория и нажмите "ОК":
После успешно выполнения в директории "csv" по месту установки демо каталога будут развернуты CSV файлы из архива.
Справочная система создана в Dr.Explain
EasyPortal © 2016-2022 компания EasyData