Перейти к содержанию

Сериализация

Когда вы начнёте работать с Glarus BI в режиме промышленной эксплуатации, вполне вероятно, что у вас будет развернуто более одного экземпляра Glarus BI. У вас может быть несколько экземпляров для тестирования и разработки и несколько кластеров в режиме промышленной эксплуатации, или отдельный Glarus BI для каждого офиса или региона.

Для подобных ситуаций в Glarus BI есть функция сериализации, которая позволяет вам экспортировать содержимое Glarus BI, которое потом может быть импортировано в один или несколько экземпляров Glarus BI.

Варианты использования

  • Промежуточные рабочие среды. Позволяет для важных дашбордов осуществлять процесс перехода от промежуточного состояния к рабочему путём экспорта из промежуточного экземпляра Glarus BI с дальнейшим импортом в рабочие экземпляры.
  • Контроль версий. Позволяет проверять экспортированные файлы и их изменения в системе контроля версий, поскольку файлы YAML, содержащиеся в экспорте, хорошо читабельны.

Что экспортируется

Glarus BI позволяет экспортировать только следующие артефакты:

  • коллекции (кроме персональных коллекций, если на них не установлен флаг --user);
  • дашборды;
  • сохранённые запросы;
  • действия;
  • модели;
  • фрагменты SQL;
  • настройки метаданных таблиц;
  • сегменты и метрики, указанные в метаданных таблиц;
  • настройки общего доступа к запросам и дашбордам;
  • основные настройки Glarus BI;
  • настройки подключения к базе данных;
  • события и сроки.

Glarus BI экспортирует свои артефакты в каталог с файлами YAML. Экспорт включает в себя:

Пример экспорта может включать следующие каталоги, в зависимости от того, что именно вы экспортировали:

  • действия;
  • коллекции;
  • базы данных.

В каталоге collections/cards вы увидите, что Glarus BI добавляет к отдельным файлам идентификаторы, чтобы устранить неоднозначность объектов с одинаковым именем:

IA96oUzmUbYfNFl0GzhRj_accounts_model.yaml
KUEGiWvoBFEc5oGQCEnPg_converted_customers.yaml
qzNa8ZeFgFXrrIoF2g8m4_accounts_model_detail.yaml

Пример запроса

Запросы можно найти в каталоге cards каталога коллекций. Вот пример YAML-файла карточки для прямого запроса (написан на SQL):

description: The number of plans by referral source.
archived: false
collection_position: null
table_id: null
result_metadata: null
database_id: Sample Database
enable_embedding: false
collection_id: onou5H28Wvy3kWnjxxdKQ
query_type: native
name: Plan counts by source
creator_id: jeff@glarusbi.com
made_public_by_id: null
embedding_params: null
cache_ttl: null
dataset_query:
  type: native
  native:
    query: |-
      SELECT count(*),
             PLAN,
             SOURCE
      FROM accounts
      WHERE SOURCE IS NOT NULL
      GROUP BY PLAN,
               SOURCE
    template-tags: {}
  database: Sample Database
parameter_mappings: []
serdes/meta:
- model: Card
  id: 17p_H8e2OpHGGJVxqg4sN
  label: plan_counts_by_source
display: table
entity_id: 17p_H8e2OpHGGJVxqg4sN
collection_preview: true
visualization_settings:
  table.pivot_column: PLAN
  table.cell_column: COUNT(*)
  column_settings: null
parameters: []
dataset: false
created_at: '2023-05-22T14:32:28.124325'
public_uuid: null

Перед экспортом или импортом

Если ваш экземпляр Glarus BI запущен, и вы используете базу данных по умолчанию Н2, то вам нужно остановить Glarus BI перед экспортом или импортом.

Экспорт Glarus BI

Чтобы экспортировать содержимое экземпляра Glarus BI, перейдите в каталог, в котором вы запускаете JAR-файл Glarus BI, и выполните следующую команду:

java -jar GlarusBI.jar export [export_name]

Параметры экспорта

Чтобы просмотреть список параметров экспорта, используйте команду help:

java -jar GlarusBI.jar help export

Команда выведет что-то наподобие:

export path & options
     Serialize Glarus BI instance into directory at `path`.
     Options:
       -u, --user EMAIL                Include collections owned by the specified user
       -c, --collection ID             Export only specified ID; may occur multiple times.
           --collections ID_LIST       (Legacy-style) Export collections in comma-separated list of IDs, e.g. '123,456'.
       -C, --no-collections            Do not export any content in collections.
       -S, --no-settings               Do not export settings.yaml
       -D, --no-data-model             Do not export any data model entities; useful for subsequent exports.
       -f, --include-field-values      Include field values along with field metadata.
       -s, --include-database-secrets  Include database connection details (in plain text; use caution).

--user

Флаг user сообщает Glarus BI включать коллекции, принадлежащие указанному пользователю, идентифицированному по электронной почте. ВОПРОС: А как насчёт учётных записей, созданных с помощью единого входа (SSO)?

--collection

Флаг --collection (также -c) позволяет указать по ID одну или несколько коллекций для включения в экспорт. Вы можете найти ID коллекции в её URL, например, для коллекции по адресу your-glarusbi.com/collection/42-terraforming-progress ID будет 42.

Если вы хотите указать несколько коллекций, разделите их ID запятыми. Например,

java -jar GlarusBI.jar export --collection 1,3,5,9

--no-collection

Флаг --no-collection (также -C) сообщает Glarus BI исключить все коллекции из экспорта.

--no-settings

Флаг --no-settings (также -S) сообщает Glarus BI исключить файл settings.yaml, содержащий настройки всего сайта, который экспортируется по умолчанию.

--no-data-model

Флаг --no-data-model (также -D) сообщает Glarus BI исключить настройки метаданных таблиц из экспорта. Администраторы устанавливают настройки метаданных на вкладке метаданные таблиц в настройках администратора.

--include-field-values

Флаг --include-field-values (также -f) сообщает Glarus BI включить образцы значений для полей, которые Glarus BI использует для представления выпадающих меню. По умолчанию Glarus BI исключает эти примеры значений полей.

--include-database-secrets

Флаг --include-database-secrets (также -s) сообщает Glarus BI включить сведения о соединении, в т.ч. имя пользователя базы данных и пароль. По умолчанию Glarus BI исключает эти секретные параметры подключения к базе данных. Если вы не используете этот флаг, вам придётся вручную ввести учетные данные в целевой Glarus BI.

Импорт в Glarus BI

Чтобы импортировать экспортированные артефакты в экземпляр Glarus BI, перейдите в каталог, в котором вы запускаете целевую Glarus BI (Glarus BI, в которую вы хотите импортировать), и используйте следующую команду, где [my_export] — это путь к экспортированным данным, которые вы хотите импортировать:

java -jar GlarusBI.jar import [my_export]

В настоящее время вы можете импортировать экспортированные артефакты только в экземпляр Glarus BI, созданный в той же версии Glarus BI.

Опции импорта

Большинство опций определяются при экспорте данных из Glarus BI. Чтобы просмотреть список флагов импорта, запустите:

java -jar glarusbi help import

Команда выведет что-то наподобие:

import path & options
         Load serialized Glarus BI instance as created by the [[export]] command from directory `path`.
         Options:
           -e, --abort-on-error  Stops import on any errors, default is to continue.

--abort-on-error

Флаг --abort-on-error (алиас -e) — это необязательный флаг, который позволяет вам указать, как процесс импорта должен обрабатывать ошибки. По умолчанию Glarus BI ошибки игнорирует.

Не используйте сериализацию для резервного копирования

Просто примечание: сериализация не предназначена для резервного копирования вашей Glarus BI.

См. Резервное копирование Glarus BI.

Если вы хотите выполнить однократную миграцию из базы данных H2, включенной в Glarus BI по умолчанию, в MySQL/Postgres, используйте руководство по миграции.

Общие настройки, экспортируемые Glarus BI

Список общих настроек Glarus BI экспортирует в файле settings.yaml.

humanization-strategy
native-query-autocomplete-match-style
site-locale
report-timezone-short
report-timezone-long
application-name
enable-xrays
show-homepage-pin-message
source-address-header
enable-nested-queries
custom-geojson-enabled
start-of-week
custom-geojson
available-timezones
max-results-bare-rows
hide-embed-branding?
search-typeahead-enabled
enable-sandboxes?
application-font
available-locales
landing-page
enable-embedding
application-colors
application-logo-url
application-favicon-url
show-homepage-xrays
show-metabot
enable-whitelabeling?
show-homepage-data
site-name
application-font-files
loading-message
report-timezone
show-lighthouse-illustration
persisted-models-enabled
enable-content-management?
subscription-allowed-domains
breakout-bins-num
available-fonts
custom-formatting

Дополнительную информацию о настройках Glarus BI см. в Настройка Glarus BI

Дополнительная информация