Общие сведения

Сервисная утилита plm-util поставляется вместе с дистрибутивом Polymatica Analytics и предназначена дпредназначена для работы с репозиторием Polymatica Analytics в обход самой Polymatica Analytics для выполнения дополнительных действий, которые не реализованы в Polymatica Analytics:

Подготовка к использованию утилиты 

Перед началом работы с утилитой необходимо:

  1. Остановить сервисы Polymatica Analytics командой:

    systemctl stop polymatica.service
  2. Проверить наличие утилиты plm-util в директории /usr/bin или директории /usr/sbin. Если утилиты в данных директориях не будет обнаружено, выполнить её установку:

    sudo dpkg -i polymatica-util_x.y-z.xdeb

    где x.y-zидентификатор установленной на сервере версии Polymatica Analytics.

  3. Задать путь к репозиторию в конфигурационном файле:
    ### Путь до репозитория
    plm.manager.repo_directory = /var/plmrepo/
  4. Задать расположение конфигурационного файла утилиты:
    plm-util --config=<path>

Использование утилиты

Ввод команд напрямую в консоль

В этом случае запуск команды plm-util --help или --h выведет список всех доступных команд:

Все команды утилиты plm-util
$ plm-util --help
[14:47:29.990][    info][util] No configuration file loaded, using built-in configuration
usage: plm-util <OPTIONS>
Polymatica Analytics utility application and repo editor

-h, --help                          display command line options
--config=<path>                     change path to an application config file
-v, --verbose                       enable more output from tool
-j[<jobs>], --parallel[=<jobs>]     set the number of parallel jobs 
--convert_store                     convert .store to .json files and vice versa
-i[<path>], --input_path[=<path>]   path to files to be converted
-o[<path>], --output_path[=<path>]  path to conversion result files
--json_to_binary                    perform .json->.store conversion
--server-codes                      generate server-codes.js and server-codes.json files
--create-pyscript                   add new pyscript resource to repository
--update-pyscript                   update pyscript resource in repository
--delete-pyscript                   remove pyscript resource from repository
--list-pyscripts                    list pyscript resources content from repository
--validate-cube                     validate cube data integrity in repository
--validate-all-cubes                validate all cubes data integrity in repository
--convert-repo                      make entire 5.7 repository compatible with cluster

Использование конфигурационного файла

Во втором случае команды загружаются из конфигурационного файла plm-util.conf и необходимо определиться с его местоположением. Приоритет загрузки конфигурационных файлов следующий:

  1. Напрямую из командной строки при запуске plm-util с параметром --config=<path>.
  2. Иначе – поиск файла plm-util.conf в рабочей директории, где запускается утилита.
  3. Иначе – поиск файла /etc/polymatica/plm-util.conf.
  4. Иначе встроенный пустой конфигурационный файл.

При запуске утилиты, она выведет, какой конфигурационный файл был выбран. Так, в выводе команд самой утилиты выше используется встроенный пустой конфигурационный файл.

Пример конфигурационного файла plm-util.conf
# Включение детального вывода лога утилиты в консоль (трейсы).
verbose

# Путь до конвертируемого файла или директории
# plm.test.input_path = /var/plmrepo/cubes/01234567-00000000-00000000-00000000
# Путь для сконвертированных файлов.
# plm.test.output_path = /var/plmrepo/cubes/01234567-00000000-00000000-00000000/json_out
# Выполнить обратное конвертирование .json -> .store.
# plm.test.json_to_binary

### Путь до репозитория
# plm.manager.repo_directory = /var/plmrepo/

# Название регистрируемого скрипта Python
# pyscripts.create.name = Python Linked Scenario
# Вид регистрируемого скрипта Python [formatted_export, linked_scenario]
# pyscripts.create.type = linked_scenario
# Путь до регистрируемого скрипта Python на диске.
# pyscripts.create.script = /var/plmscripts/linked_scenario/first/first.py
# Идентификатор размерности, в которой начинается переход в связанный сценарий для вида "linked_scenario".
# pyscripts.create.measure_id = 07141982

# Удаление зарегистрированного скрипта Python по имени.
# pyscripts.delete.by_name = Test PlmUtil Script
# Удаление зарегистрированного скрипта Python по идентификатору.
# pyscripts.delete.by_id = e654a03f

# Внесение изменений в зарегистрированный скрипт Python по имени.
# pyscripts.update.by_name = Test PlmUtil Script
# Внесение изменений в зарегистрированный скрипт Python по идентификатору.
# pyscripts.update.by_id = 1a71ec1d
# Новое наименование для скрипта Python.
# pyscripts.update.new_name = New PlmUtil Script
# Новый тип скрипта Python.
# pyscripts.update.new_type = formatted_export
# Путь до нового скрипта Python.
# pyscripts.update.new_script = /var/plmscripts/formatted_export/test_python_script_2.py

# Идентификатор МС в репозитории для проверки целостности.
# validate.cube_id = 646850cf-00000000-00000000-00000000

Параметры запуска утилиты 

Данные аргументы относятся к самой утилите и ее работе:

  1. Отобразить все команды и параметры утилиты:

    plm-util -h
    plm-util --help                       
  2. Задать путь к конфигурационному файлу:
    plm-util --config=<path>                     
  3. Подробный вывод информации о работе утилиты, в том числе порядок поиска конфигурационных файлов:
    plm-util -v
    plm-util --verbose                    
  4. Задать количество одновременно выполняемых задач:
    plm-util -j[<jobs>]
    plm-util --parallel[=<jobs>]                   

Выполнение сервисных процедур

Нижеприведенные инструкции описывают выполнение процедур с помощью plm-util:

Конвертация репозитория в кластер

С помощью утилиты plm-util можно конвертировать весь репозиторий Polymatica Analytics в репозиторий для кластера.

Внимание

Данную процедуру необходимо выполнить при переходе с версии 5.7 на версию 5.9 сразу после установки пакетов. Конвертацию мультисфер при этом выполнять не нужно.
  1. Убедиться, что сервисы Polymatica остановлены:

Конвертация мультисфер

При помощи plm-util можно конвертировать файлы .store из бинарного формата в JSON и обратно. 

Управление Python-скриптом для детализации Drill-through

Python-скрипт (далее – скрипт) обеспечивает детализацию Drill-through, выполняя её по условиям, описанным в файле конфигурации config.json (см. Детализация Drill-through). Скрипт необходимо зарегистрировать для приложения при помощи утилиты plm-util, чтобы приложение могло с ним работать.

Проверка целостности мультисферы

При помощи утилиты plm-util можно проверить мультисферу на целостность данных.

  • Нет меток