Google BigQuery

Итоги

Позиция Description
Состояние выпуска Общая доступность
Продукты Power BI (семантические модели)
Power BI (потоки данных)
Fabric (Dataflow 2-го поколения)
Power Apps (потоки данных)
Аналитика клиента (потоки данных)
Поддерживаемые типы проверки подлинности Organizational account
Организация сервиса

Примечание.

Некоторые возможности могут присутствовать в одном продукте, но не другие из-за расписаний развертывания и возможностей для конкретного узла.

Примечание.

С июля 2021 года Google прекратила поддержку входа в учетные записи Google из внедренных платформ браузера. В связи с этим изменением необходимо обновить версию Power BI Desktop до июня 2021 г. или более поздней для поддержки входа в Google.

Необходимые компоненты

Для входа в Google BigQuery требуется учетная запись Google или учетная запись службы Google.

Поддерживаемые возможности

  • Import
  • DirectQuery (семантические модели Power BI)

Подключение данные Google BigQuery из Power Query Desktop

Чтобы подключиться к Google BigQuery из Power Query Desktop, сделайте следующее:

  1. Выберите Google BigQuery в интерфейсе получения данных. Взаимодействие с данными в Power Query Desktop зависит от приложений. Дополнительные сведения об использовании Power Query Desktop для вашего приложения см. в раздел " Где получить данные".

  2. Если вы хотите использовать какие-либо дополнительные параметры, выберите дополнительные параметры. В противном случае нажмите кнопку "ОК ", чтобы продолжить. Дополнительные сведения: Подключение с помощью дополнительных параметров

    Изображение, показывающее начальное диалоговое окно с выбранными расширенными параметрами.

  3. Соединитель Google BigQuery поддерживает подключение через учетную запись организации или вход в учетную запись службы. В этом примере вы будете использовать учетную запись организации для входа. Нажмите кнопку "Войти" , чтобы продолжить.

    Войдите в Google BigQuery.

    Вы также можете войти с помощью учетной записи службы Google. В этом случае выберите имя входа учетной записи службы и введите электронную почту учетной записи службы и содержимое файла ключа учетной записи службы JSON. В этом случае выберите Подключиться.

  4. Появится диалоговое окно входа с помощью Google . Выберите свою учетную запись Google и утвердите подключение к Power BI Desktop.

    Войдите в Google.

  5. После входа выберите Подключение, чтобы продолжить.

    Подключение в Google BigQuery Data.

  6. После успешного подключения откроется окно навигатора и отображает данные, доступные на сервере. Выберите данные в навигаторе. Затем выберите преобразование данных в Power Query или Load , чтобы загрузить данные в Power BI Desktop.

    Изображение навигатора Power Query, загружающего данные Google BigQuery в классическое приложение.

Подключение данные Google BigQuery из Power Query Online

Чтобы подключиться к Google BigQuery из Power Query Online, сделайте следующее:

  1. Выберите параметр Google BigQuery в интерфейсе получения данных. Различные приложения имеют различные способы получения данных в Power Query Online. Дополнительные сведения о том, как получить данные в Power Query Online из приложения, перейдите к разделу " Где получить данные".

    Снимок экрана: диалоговое окно

  2. В диалоговом окне "База данных Google BigQuery" может потребоваться создать новое подключение или выбрать существующее подключение. Если вы используете локальные данные, выберите локальный шлюз данных. Затем выберите Войти.

    Изображение диалогового окна входа.

  3. Появится диалоговое окно входа с помощью Google . Выберите свою учетную запись Google и утвердите подключение.

    Примечание.

    Хотя диалоговое окно входа говорит, что вы будете продолжать работать в Power BI Desktop после входа, вместо этого вы будете отправляться в приложение в Интернете.

    Изображение диалогового окна входа Google.

  4. Если вы хотите использовать какие-либо дополнительные параметры, выберите дополнительные параметры. Дополнительные сведения: Подключение с помощью дополнительных параметров

  5. После входа нажмите кнопку "Далее ", чтобы продолжить.

    Изображение пользователя успешно вошедшего в систему.

  6. После успешного подключения откроется окно навигатора и отображает данные, доступные на сервере. Выберите данные в навигаторе. Затем нажмите кнопку "Далее ", чтобы преобразовать данные в Power Query.

    Изображение навигатора Power Query, загружающего данные Google BigQuery в онлайн-приложение.

Подключением с использованием дополнительных параметров

Power Query Desktop и Power Query Online предоставляют набор дополнительных параметров, которые можно добавить в запрос при необходимости.

Отображение дополнительных параметров, доступных в Power Query Desktop.

В следующей таблице перечислены все дополнительные параметры, которые можно задать в Power Query Desktop и Power Query Online.

Дополнительный параметр Description
Идентификатор проекта выставления счетов Проект, в котором Power Query будет выполнять запросы. Разрешения и выставление счетов привязаны к этому проекту. Если идентификатор проекта выставления счетов не указан, по умолчанию будет использоваться первый доступный проект, возвращаемый API Google.
Использование API служба хранилища Флаг, позволяющий использовать API служба хранилища Google BigQuery. Этот параметр по умолчанию имеет значение true. Этот параметр может иметь значение false, чтобы не использовать API служба хранилища и использовать REST API.
длительность времени ожидания Подключение Стандартный параметр подключения (в секундах), который определяет, сколько времени Power Query ожидает завершения подключения. Это значение можно изменить, если подключение не завершится до 15 секунд (значение по умолчанию).
Длительность времени ожидания команды Сколько времени Power Query ожидает завершения и возврата результатов запроса. Значение по умолчанию зависит от драйвера по умолчанию. Вы можете ввести другое значение в минутах, чтобы сохранить подключение открытым дольше.
Код проекта Проект, на который требуется выполнить собственные запросы. Этот параметр доступен только в Power Query Desktop.
SQL statement Дополнительные сведения см. в статье Импорта данных из базы данных с помощью собственного запроса к базе данных. В этой версии функций собственных запросов к базе данных необходимо использовать полные имена таблиц в формате Database.Schema.Table, например SELECT * FROM DEMO_DB.PUBLIC.DEMO_TABLE. Этот параметр доступен только в Power Query Desktop.

Выбрав необходимые дополнительные параметры, нажмите кнопку "ОК " в Power Query Desktop или "Далее " в Power Query Online, чтобы подключиться к данным Google BigQuery.

Рекомендации и ограничения

В этом разделе описаны ограничения или рекомендации соединителя Google BigQuery.

Подключение в Google BigQuery в Power BI Desktop

При использовании соединителя Google BigQuery с Power BI следует учитывать несколько ограничений и рекомендаций.

доступность Подключение

Соединитель Google BigQuery доступен в Power BI Desktop и в служба Power BI. В служба Power BI соединитель можно получить с помощью подключения к Cloud-to-Cloud из Power BI в Google BigQuery.

Ошибка "Отказано в доступе"

При попытке подключиться к Google BigQuery из Power BI Desktop может появиться следующее сообщение об ошибке:

Datasource.Error: ODBC: ERROR [HY000][Microsoft][BigQuery] (100) Error interacting with REST API: Access Denied: Project <project name>: The user <user name> bigquery.jobs.create permissions in project <project name>.

В этом случае может потребоваться ввести идентификатор проекта выставления счетов в расширенном параметре "Проект выставления счетов" в параметрах Подключение ion Power Query.

Кроме того, при создании отчета в служба Power BI с помощью шлюза может по-прежнему возникать эта ошибка. В этом случае необходимо вручную включить идентификатор проекта выставления счетов в код M для подключения с помощью редактора Power Query или строки формул Power Query. Например:

Source = GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])

вложенные поля;

Для оптимизации производительности Google BigQuery хорошо работает с большими наборами данных при денормализованном, плоском и вложенном.

Соединитель Google BigQuery поддерживает вложенные поля, которые загружаются в виде текстовых столбцов в формате JSON.

Поддержка вложенных полей Google BigQuery.

Пользователи должны выбрать преобразование данных, а затем использовать возможности анализа JSON в Редактор Power Query для извлечения данных.

  1. На вкладке "Преобразования" категория "Текстовый столбец" выберите "Синтаксический анализ" и "JSON".
  2. Извлеките поля записи JSON с помощью параметра "Развернуть столбец ".

Настройка учетной записи службы Google

Дополнительные сведения о настройке или использовании учетных записей службы Google см. в разделе "Создание ключей учетных записей службы и управление ими" в документации Google.

Проверка подлинности с помощью учетной записи службы Google

При проверке подлинности через учетную запись службы Google в Power BI Desktop есть определенный формат учетных данных, необходимый соединителю.

  • Адрес электронной почты учетной записи службы: должен быть в формате электронной почты
  • Содержимое файла ключа JSON учетной записи службы: после скачивания этого ключа JSON все новые строки должны быть удалены из файла, чтобы содержимое было в одной строке. После того как JSON-файл будет в этом формате, содержимое может быть вставлено в это поле.

При проверке подлинности с помощью учетной записи службы Google в служба Power BI или Power Query Online пользователям необходимо использовать обычную проверку подлинности. Поле имени пользователя сопоставляется с указанным выше полем "Электронная почта учетной записи службы", а поле "Пароль" сопоставляется с полем содержимого файла ключа JSON учетной записи службы выше. Требования к формату для каждого учетных данных остаются одинаковыми в Power BI Desktop, служба Power BI и Power Query Online.

Не удалось выполнить проверку подлинности с помощью API Служба хранилища Google BigQuery

Соединитель Google BigQuery по умолчанию использует API Google BigQuery служба хранилища. Эта функция управляется расширенным параметром use служба хранилища Api. Если вы используете детализированные разрешения, могут возникнуть проблемы с этой функцией. В этом сценарии может появиться следующее сообщение об ошибке или сбой получения данных из запроса:

ERROR [HY000] [Microsoft][BigQuery] (131) Unable to authenticate with Google BigQuery Storage API. Check your account permissions

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

  • bigquery.readsessions.create: создает новый сеанс чтения с помощью API BigQuery служба хранилища.
  • bigquery.readsessions.getData: считывает данные из сеанса чтения через API BigQuery служба хранилища.
  • bigquery.readsessions.update: Обновления сеанс чтения через API BigQuery служба хранилища.

Эти разрешения обычно предоставляются в BigQuery.User роли. Дополнительные сведения о предопределенных ролях и разрешениях Google BigQuery

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

Не удается использовать данные типа DateTime в режиме прямого запроса

Существует известная проблема, из-за которой тип DateTime не поддерживается через прямой запрос. Выбор столбца с типом DateTime приведет к ошибке "Недопустимый запрос" или визуальной ошибке.

Ограничения на запрос столбца с тем же именем, что и имя таблицы.

При запросе столбца, имеющего то же имя таблицы, BigQuery интерпретирует столбец как struct столбец, содержащий все столбцы в таблице, а не указанный столбец. Например, SELECT debug FROM dataset.debug возвращает struct все столбцы в таблице отладки вместо указанного столбца отладки. Это поведение обычно не интуитивно понятно, и рассматривается исправление. Доступны три обходных решения:

  • Обходное решение 1. Упаковка таблицы с представлением, которое не конфликтует с именем столбца.CREATE VIEW dataset.new_view AS SELECT * FROM dataset.debug
  • Обходное решение 2. Переименуйте столбец, чтобы избежать конфликтов с именем таблицы.ALTER TABLE dataset.debug RENAME COLUMN debug to new_debug
  • Обходное решение 3. Изменение запроса SELECT на использование table.column для ссылки на столбец конфликта.SELECT debug.debug FROM dataset.debug