Сериализация¶
Когда вы начнете работать с GlarusBI в режиме промышленной эксплуатации, вполне вероятно, что у вас будет развернуто более одного экземпляра GlarusBI. У вас может быть несколько инстансов для тестирования или разработки и несколько производственных кластеров, или, может быть, у вас есть отдельный GlarusBI для каждого офиса или региона.
Для подобных ситуаций в GlarusBI есть функция сериализации, которая позволяет вам экспортировать содержимое GlarusBI, которое потом может быть импортировано в один или несколько экземпляров GlarusBI.
Варианты использования¶
Промежуточные рабочие среды. Позволяет для важных дашбордов осуществлять процесс перехода от промежуточного состояния к рабочему путем экспорта из промежуточного экземпляра GlarusBI с дальнейшим импортом их в рабочие экземпляры.
Контроль версий. Проверьте экспортированные файлы в системе контроля версий и проверяйте их изменения, поскольку файлы YAML, содержащиеся в экспорте, хорошо читабельны.
Что экспортируется¶
GlarusBI позволяет экспортировать только следующие артефакты:
Коллекции (кроме персональных коллекций, если на них не установлен флаг
--user
)Дашборды
Сохраненные вопросы
Действия
Модели
Фрагменты SQL
Настройки Метаданных таблиц
Сегменты и метрики, указанные в Метаданных таблиц
Настройки общего доступа к вопросам и дашбордам
Настройки подключения к базе данных
События и сроки
GlarusBI экспортирует свои артефакты в каталог с файлами YAML. Экспорт включает в себя:
Файл
settings.yaml
, включающий в себя основные настройки, относящиеся к GlarusBI в целом.Каталоги, содержащие YAML-файлы для различных объектов GlarusBI.
Пример экспорта может включать следующие каталоги, в зависимости от того, что именно вы экспортировали:
действия
коллекции
базы данных
В каталоге collections/cards
вы увидите, что GlarusBI добавляет к отдельным файлам идентификаторы, чтобы устранить неоднозначность объектов с одинаковым именем:
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
Перед экспортом или импортом¶
Если ваш инстанс GlarusBI запущен и вы используете базу данных по умолчанию Н2, то вам нужно остановить GlarusBI перед экспортом или импортом.
Экспорт GlarusBI¶
Чтобы экспортировать содержимое экземпляра GlarusBI, перейдите в каталог, в котором вы запускаете JAR-файл GlarusBI, и выполните следующую команду:
java -jar GlarusBI.jar export [export_name]
Параметры экспорта¶
Чтобы просмотреть список параметров экспорта, используйте команду help
:
java -jar GlarusBI.jar help export
Команда выведет что-то наподобие:
export path & options
Serialize GlarusBI 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
сообщает GlarusBI включать коллекции, принадлежащие указанному пользователю, идентифицированному по электронной почте. ВОПРОС: А как насчет учетных записей, созданных с помощью единого входа (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
) сообщает GlarusBI исключить все коллекции из экспорта.
--no-settings
¶
Флаг --no-settings
(алиас -S
) сообщает GlarusBI исключить файл settings.yaml
, содержащий настройки всего сайта, который экспортируется по умолчанию.
--no-data-model
¶
Флаг --no-data-model
(алиас -D
) сообщает GlarusBI исключить настройки Метаданных таблиц из экспорта. Администраторы устанавливают настройки метаданных на вкладке Метаданные таблиц в настройках администратора.
--include-field-values
¶
Флаг --include-field-values
(алиас -f
) сообщает GlarusBI включить образцы значений для полей, которые GlarusBI использует для представления выпадающих меню. По умолчанию GlarusBI исключает эти примеры значений полей.
--include-database-secrets
¶
Флаг --include-database-secrets
(алиас -s
) сообщает GlarusBI включить сведения о соединении, в т.ч. имя пользователя базы данных и пароль. По умолчанию GlarusBI исключает эти секретные параметры подключения к базе данных. Если вы не используете этот флаг, вам придется вручную ввести учетные данные в целевой GlarusBI.
Импорт в GlarusBI¶
Чтобы импортировать экспортированные артефакты в экземпляр GlarusBI, перейдите в каталог, в котором вы запускаете целевую GlarusBI (GlarusBI, в которую вы хотите импортировать), и используйте следующую команду, где [my_export]
— это путь к экспортированным данным, которые вы хотите импортировать:
java -jar GlarusBI.jar import [my_export]
В настоящее время вы можете импортировать экспортированные артефакты только в экземпляр GlarusBI, созданный в той же версии GlarusBI.
You’ll need to manually add license tokens¶
Metabase excludes your license token from exports, so if you’re running multiple environments of Metabase Enterprise Edition, you’ll need to manually add your license token to the target Metabase(s), either via the Metabase user interface, or via an environment variable.
Опции импорта¶
Большинство опций определяются при экспорте данных из GlarusBI. Чтобы просмотреть список флагов импорта, запустите:
java -jar glarusbi help import
Команда выведет что-то наподобие:
import path & options
Load serialized GlarusBI 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
) — это необязательный флаг, который позволяет вам указать, как процесс импорта должен обрабатывать ошибки. По умолчанию GlarusBI ошибки игнорирует.
Не используйте сериализацию для резервного копирования¶
Просто примечание: сериализация не предназначена для резервного копирования вашей GlarusBI.
См. Резервное копирование GlarusBI.
Если вы хотите выполнить однократную миграцию из базы данных H2, включенной в GlarusBI по умолчанию, в MySQL/Postgres, используйте руководство по миграции.
Общие настройки, экспортируемые GlarusBI¶
Список общих настроек GlarusBI экспортирует в файле 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
Дополнительную информацию о настройках GlarusBI см. в Настройка GlarusBI