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

Google BigQuery

Чтобы добавить подключение к базе данных, нажмите значок gear в правом верхнем углу и перейдите в Admin settings > Databases > Add a database.

Требования

Вам понадобится аккаунт Google Cloud Platform и проект, который вы хотите использовать в Glarus BI. См. документацию Google Cloud Platform о том, как создать и управлять проектом. В этом проекте должен быть dataset BigQuery, к которому Glarus BI будет подключаться.

Google Cloud Platform: создание service account и JSON‑файла

Сначала вам нужен JSON‑файл service account, который Glarus BI будет использовать для доступа к вашему dataset BigQuery. Service accounts предназначены для «нечеловеческих» пользователей (например, приложений вроде Glarus BI), чтобы аутентифицировать (кто я?) и авторизовать (что мне можно?) API‑запросы.

Чтобы создать JSON‑файл service account, следуйте документации Google о том, как создать и управлять service accounts для вашего dataset BigQuery. Ниже — базовый поток действий:

  1. Create service account. В консоли Google Cloud Platform для проекта откройте левое боковое меню, перейдите в раздел IAM & Admin и выберите Service account. Консоль покажет существующие service accounts (если они есть). В верхней части экрана нажмите + CREATE SERVICE ACCOUNT.

  2. Fill out the service account details. Укажите название service account и добавьте описание (service account ID появится после ввода названия). Затем нажмите Create.

  3. Grant the service account access to this project. Нужно добавить service account roles, чтобы у Glarus BI были права просматривать dataset и выполнять запросы. Убедитесь, что вы добавили service account следующие роли:

  4. BigQuery Data Viewer

  5. BigQuery Metadata Viewer
  6. BigQuery Job User (это отдельная роль, не BigQuery User)

Подробнее о roles в BigQuery см. в документации Google Cloud Platform.

  1. Create key. После назначения ролей нажмите Create Key и выберите JSON как key type. JSON‑файл будет скачан на ваш компьютер.

Ключ можно скачать только один раз. Если вы удалите ключ, вам нужно будет создать новый service account с теми же roles.

Подключение и синхронизация (Connection and sync)

После подключения к базе данных вы увидите раздел «Connection and sync», где отображается текущий статус подключения и параметры управления соединением.

Здесь можно синхронизировать схему базы данных и пересканировать значения полей, а также отредактировать параметры подключения.

Изменение параметров подключения

Эти параметры можно изменить в любое время. Не забудьте сохранить изменения.

Строка подключения

Вставьте строку подключения, чтобы автоматически заполнить поля ниже.

Отображаемое название

Отображаемое название базы данных в интерфейсе Glarus BI.

Project ID

У каждого dataset BigQuery есть Project ID. Его можно найти в Google Cloud Console. Если вы не уверены, где смотреть Project ID, см. документацию Google о том, как получить информацию о datasets.

При вводе Project ID опустите префикс Project ID. Например, если ваш ID — project_name:project_id, вводите только project_id.

JSON‑файл service account

JSON‑файл содержит учётные данные, которые приложению Glarus BI нужны, чтобы получить доступ к datasets BigQuery согласно roles, которые вы назначили service account. Если вам нужно добавить дополнительные roles, придётся создать новый service account, скачать JSON‑файл и загрузить его в Glarus BI.

Datasets

Вы можете указать, какие datasets BigQuery нужно синхронизировать и сканировать. Варианты:

  • All (все)
  • Only these... («только эти…»)
  • All except... («все кроме…»)

Dataset BigQuery похож на схему (schema). Указывайте названия datasets (например, marketing), а не названия таблиц (marketing.campaigns).

Допустим, у вас есть три dataset: foo, bar и baz.

Чтобы синхронизировать все три, выберите Only these... («только эти…») и введите:

foo,bar,baz

Чтобы синхронизировать datasets по совпадению строки, используйте wildcard *:

  • Чтобы синхронизировать bar и baz, выберите Only these... («только эти…») и введите b*.
  • Чтобы синхронизировать только foo, выберите All except... («все кроме…») и введите b*.

Поддерживается только wildcard *; другие спецсимволы и regex не поддерживаются.

Использовать часовой пояс Java Virtual Machine (JVM)

Рекомендуем оставить выключенным, если только вы не делаете ручное приведение timezone во многих или большинстве запросов к этим данным.

Добавлять ID пользователя и хэш запроса в запросы

Это может быть полезно для аудита и отладки, но мешает BigQuery кэшировать результаты и может увеличить ваши расходы.

Альтернативный hostname

Если вы хотите использовать другой hostname для подключения к BigQuery. Формат: https://<hostname>:<port>. Если вы используете прокси‑сервис для подключения к BigQuery (например, privacy proxy, который анонимизирует PII), укажите здесь hostname или IP прокси. Не забудьте указать полный URI с протоколом и номером порта.

Перезапускать запросы при простых изменениях

Выключите эту опцию (OFF), если пользователи хотят нажимать Run (кнопку воспроизведения) перед применением любых Summarize или фильтров.

По умолчанию Glarus BI выполнит запрос, как только вы выберете вариант группировки из меню Summarize или условие фильтра из drill-through меню. Если база данных работает медленно, возможно, стоит отключить автоматический перезапуск, чтобы не загружать данные при каждом клике.

Выберите, когда запускать синхронизацию и сканирование

См. syncs and scans.

Периодически снимать слепки таблиц

Периодическое снятие слепков таблиц увеличит нагрузку на вашу базу данных.

Включите (ON), чтобы сканировать выборку значений каждый раз, когда Glarus BI запускает синхронизацию.

Запрос fingerprinting анализирует первые 10 000 строк каждого столбца и оценивает, сколько уникальных значений у столбца, какие минимальные и максимальные значения у числовых столбцов и столбцов временных меток и т. д. Если оставить опцию OFF, Glarus BI выполнит fingerprinting столбцов только один раз во время настройки.

Подключение Glarus BI к источникам данных Google Drive

Вы можете подключить Glarus BI к источникам данных Google Drive через BigQuery. Потребуется немного настройки, но в целом вы создадите dataset в BigQuery и добавите во внешний dataset внешнюю таблицу, которая будет указывать на Google Sheet. Это удобно для загрузки CSV в Google Sheets, а затем анализа и визуализации данных в Glarus BI.

Чтобы подключить источник данных, хранящийся в Google Drive (например, Google Sheet), убедитесь, что вы выполнили шаги выше, включая:

  • создание проекта в Google Cloud Platform,
  • добавление dataset BigQuery, и
  • создание service account.

Поделитесь источником Google Drive с service account

Откройте файл в Drive (например, Google Sheet с загруженным CSV), нажмите кнопку Share в правом верхнем углу. В поле Add people or groups вставьте email вашего service account — его можно найти на странице Service Accounts в Google Cloud Console.

Этот email будет выглядеть примерно так: service-account-name@your-project-name.iam.gserviceaccount.com (с подставленными названиями service account и проекта).

Выберите Viewer в выпадающем списке, снимите флажок Notify people и нажмите Share.

Создайте внешнюю таблицу в BigQuery, которая указывает на источник в Google Drive

Если у вас ещё нет dataset BigQuery, создайте его.

Затем в Google Cloud Console создайте внешнюю таблицу внутри вашего dataset BigQuery, которая будет указывать на Google Sheet.

Убедитесь, что вы указали правильные Drive URI и формат файла.

Если вы ещё не сделали этого, подключите Glarus BI к BigQuery.

После выполнения этих шагов вы сможете создавать запросы и дашборды в Glarus BI, используя источник данных из Google Drive.

Использование Legacy SQL

Начиная с версии 0.30.0 Glarus BI просит BigQuery интерпретировать SQL‑запросы как Standard SQL (GoogleSQL). Если вы предпочитаете Legacy SQL, вы можете указать Glarus BI использовать его, добавив директиву #legacySQL в начале запроса. Например:

#legacySQL
SELECT *
FROM [my_dataset.my_table]

Устранение неполадок

Если у вас проблемы с подключением BigQuery, посмотрите руководство по устранению неполадок для BigQuery, руководство по подключениям к хранилищам данных, или посетите форум обсуждений Metabase, чтобы посмотреть, не сталкивался ли кто‑то с похожей проблемой.

Возможности моделей

Для BigQuery пока нет возможностей моделей.

Опасная зона (Danger zone)

См. опасную зону.

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