блог о bi, №1 в рунете

Развёртывание кубов Kylin из скрипта

Apache Kylin

В последнее время программное обеспечение с открытым исходным кодом стало набирать популярность и активно использоваться. Наша компания последовала основному тренду и начала осваивать новый стек технологий Apache. Спустя несколько успешных проектов мы хотим поделиться опытом разработки и некоторыми фичами.

Зачастую метаданные аналитических решений схожи. Apache Kylin предоставляет возможность переносить или редактировать метаданные разных объектов с помощью командной строки. Это ускоряет процесс разработки.
Ниже представлены шаги развёртывания куба из скрипта (листинг 1):

  1. Сделать бэкап метаданных;
  2. Создать папку для дальнейшего восстановления метаданных (например, my_restore);
  3. В ней создать папки project, cube, cube_desс.
  4. Скопировать в директорию my_restore/project файл project/name_project.json.
  5. В /my_restore/project/name_project.json прописать имя нового куба.
  6. Скопировать файлы куба, который требуется изменить/развернуть в директории cube и cube_desc с новым именем куба в названии файла.
  7. В cube/name_new_cube.json установить новое уникальное имя (соответствующее имени файла) и UUID.vi
  8. В cube_desc/name_new_cube.json установить новое уникальное имя (соответствующее имени файла) и UUID, а также в конце файла сигнатуру (signature), которая должна обязательно заканчиваться на ==
  9. Восстановить метаданные из my_restore. В результате метаданные добавятся к существующим.
Листинг 1 – скрипт автоматизации процессирования секций кубов Kylin
$KYLIN_HOME/bin/metastore.sh backup
mkdir /my_restore
mkdir /my_restore/cube
mkdir /my_restore/project
mkdir /my_restore/cube_desc
cp meta_backups/meta_2023_01_10_20_24_50/project/name_project.json /my_restore/project
vi /my_restore/project/name_project.json
cp meta_backups/meta_2023_01_10_20_24_50/cube/name_cube.json /my_restore/cube/name_new_cube.json
cp meta_backups/meta_2023_01_10_20_24_50/cube_desc/name_cube.json /my_restore/cube_desc/name_new_cube.json
vi /my_restore/cube/name_new_cube.json
vi /my_restore/cube_desc/name_new_cube.json
$KYLIN_HOME/bin/metastore.sh restore /my_restore
$KYLIN_HOME/bin/metastore.sh list /cube

10. Затем обновить метаданные на вкладке System web-интерфейса Kylin.

11. Куб отобразится с ошибкой, для исправления необходимо прощёлкать next на каждом шаге в редакторе куба, чтоб присвоилась корректная сигнатура.


Список источников:

https://kylin.apache.org/docs31/howto/howto_backup_metadata.html