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

Работа с Google BigQuery в Glarus BI

На этой странице представлена информация о том, как создать и управлять подключением к набору данных Google BigQuery, включая тот, который использует файлы, хранящиеся на Google Диске в качестве источника данных, например Google Sheets (GSheets).

Предусловия

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

Google Cloud Platform: создание сервисного аккаунта и JSON-файла

Сначала вам понадобится JSON-файл служебной учётной записи, который Glarus BI может использовать для доступа к вашему набору данных BigQuery. Сервисные учётные записи предназначены для технических аккаунтов (таких как приложения, например, Glarus BI), для аутентификации (кто я?) и авторизации (что я могу сделать?) своих вызовов API.

Чтобы создать JSON-файл сервисного аккаунта, следуйте документации Google по настройке сервисного аккаунта для вашего набора данных BigQuery. Вот основные действия:

  1. Создайте сервисный аккаунт. В консоли проекта Google Cloud Platform откройте главное боковое меню слева, перейдите в раздел IAM & Admin и выберите Сервисный аккаунт. В консоли будут перечислены существующие учётные записи служб, если таковые имеются. В верхней части экрана нажмите + СОЗДАТЬ СЛУЖЕБНЫЙ АККАУНТ.

  2. Заполните данные сервисного аккаунта. Назовите учётную запись службы и добавьте описание (идентификатор учётной записи службы будет заполнен после добавления имени). Затем нажмите кнопку Создать.

  3. Предоставьте сервисному аккаунту доступ к этому проекту. Вам нужно будет добавить роли к учётной записи службы, чтобы Glarus BI имела разрешение на просмотр и выполнение запросов к вашему набору данных. Убедитесь, что вы добавили следующие роли в учётную запись службы:

  4. средство просмотра данных BigQuery;

  5. средство просмотра метаданных BigQuery;
  6. пользователь задания BigQuery (отличный от пользователя BigQuery).

Дополнительную информацию о ролях в BigQuery см. в документации Google Cloud Platform.

  1. Создать ключ. Назначив роли сервисному аккаунту, нажмите кнопку Создать ключ и выберите JSON в качестве типа ключа. Файл JSON будет загружен на ваш компьютер.

Предупреждение

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

Glarus BI: добавление набора данных BigQuery

После того как вы создали и загрузили JSON-файл своей учётной записи службы для своего набора данных BigQuery, перейдите в свой экземпляр Glarus BI, нажмите шестерёнку (настройки) и выберите Управление, чтобы перейти в режим администратора. В разделе Базы данных нажмите кнопку Добавить базу данных в правом верхнем углу.

На странице ДОБАВИТЬ БАЗУ ДАННЫХ выберите BigQuery в раскрывающемся списке Тип базы данных. Glarus BI предоставит вам соответствующие параметры конфигурации для заполнения:

Настройки

Отображаемое имя

Имя — это название вашей базы данных в Glarus BI.

ID проекта

Каждый набор данных BigQuery будет иметь Идентификатор проекта. Вы можете найти этот идентификатор через Google Cloud Console. Если вы не знаете, где найти Идентификатор проекта, см. документацию Google по получению информации о наборах данных.

Примечание

При вводе Идентификатора проекта не вводите префикс идентификатора проекта. Например, если ваш идентификатор project_name:project_id, введите только project_id.

JSON-файл сервисного аккаунта

Загрузите JSON-файл сервисного аккаунта, который вы создали, выполнив шаги выше. Файл JSON содержит учётные данные, которые потребуются вашему приложению Glarus BI для чтения и запроса вашего набора данных в соответствии с ролями, которые вы добавили в учётную запись службы. Если вам нужно добавить дополнительные роли, вам нужно создать другую учётную запись службы, загрузить файл JSON и загрузить файл в Glarus BI.

Наборы данных

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

  • "Все";
  • "Только эти…";
  • "Все, кроме…".

Для параметров "Только эти…" и "Все, кроме…" вы можете ввести список значений, разделённых запятыми, чтобы сообщить Glarus BI, какие наборы данных вы хотите включить (или исключить). Например:

foo,bar,baz

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

Допустим, у вас есть три набора данных: foo, bar и baz.

  • Если вы установили Только эти… и ввели строку b*, вы будете синхронизироваться с bar и baz.
  • Если у вас установлено Все, кроме…, и вы ввели строку b*, вы просто синхронизируете foo.

Обратите внимание, что поддерживается только подстановочный знак *; вы не можете использовать другие специальные символы или регулярные выражения.

Расширенные настройки

Использовать часовой пояс виртуальной машины Java (JVM)

По умолчанию: Off

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

Включить идентификатор пользователя и хэш запроса в запросы

По умолчанию: On

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

Повторный запуск запросов для простых исследований

По умолчанию: On

Мы выполняем базовый запрос, когда вы оцениваете данные с помощью "Группировать" или "Фильтровать". Если производительность упала, вы можете попробовать это, чтобы увидеть, есть ли улучшение.

Выберите, когда Glarus BI будет синхронизироваться и сканироваться

По умолчанию: Off

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

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

По умолчанию: Off

Это позволяет Glarus BI сканировать дополнительные значения полей во время синхронизации, обеспечивая более разумное поведение, например, улучшенное автоматическое объединение в гистограммы.

Продолжительность кэширования результатов по умолчанию

{% include Plans-blockquote.html feature="Кэширование базы данных" %}

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

Варианты:

  • Использовать по умолчанию (TTL). TTL — это время жизни, означающее, как долго кэш остаётся действительным, прежде чем Glarus BI снова запустит запрос.
  • Пользовательское значение.

Если у вас платный план, вы также можете установить продолжительность кэша для каждого запроса. См. Дополнительные элементы управления кэшированием.

Сохраните конфигурацию вашей базы данных

Когда вы закончите, нажмите кнопку Сохранить.

Дайте Glarus BI некоторое время для синхронизации с вашим набором данных BigQuery, затем выйдите из режима администратора, нажмите Обзор данных, найдите свою базу данных и начните изучать свои данные.

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

Чтобы подключиться к источнику данных, хранящемуся на Google Диске (например, Google Sheet), сначала убедитесь, что вы выполнили описанные выше шаги, включая создание проекта в Google Cloud Platform, добавление набора данных BigQuery и создание сервисной учётной записи. Затем:

Поделитесь своим исходным кодом Google Диска с сервисным аккаунтом

При просмотре файла на Диске (например, таблицы Google) нажмите кнопку Поделиться в правом верхнем углу. В текстовое поле с надписью Добавить людей или группы вставьте адрес электронной почты своей служебной учётной записи, которую можно найти на странице служебных учётных записей в Google Cloud Console.

Этот адрес электронной почты будет выглядеть примерно так: «service-account-name@your-project-name.iam.gserviceaccount.com», с соответствующим заполнением вашей служебной учётной записи и названиями проектов.

Выберите Просмотр в раскрывающемся списке, снимите флажок Уведомлять людей и нажмите Поделиться.

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

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

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

Обязательно укажите правильный URI-адрес диска и формат файла.

Если вы ещё не добавили набор данных BigQuery в Glarus BI, сделайте это прямо сейчас.

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

Использование устаревшего 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, с этим для проблем с подключениями к хранилищу данны, либо же посетите дискуссионный форум Glarus BI, чтобы узнать, не столкнулся ли кто-нибудь с аналогичной проблемой и решил её.

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