Поделиться через


Google BigQuery

Итоги

Позиция Description
Состояние выпуска Общая доступность
Продукты Power BI (семантические модели)
Power BI (потоки данных)
Fabric (Dataflow 2-го поколения)
Power Apps (потоки данных)
Customer Insights (потоки данных)
Поддерживаемые типы проверки подлинности 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.

  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>.

В этом случае может потребоваться ввести идентификатор проекта выставления счетов в расширенном параметре "Проект выставления счетов" в параметрах подключения 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 по умолчанию. Эта функция управляется расширенным параметром UseStorageApi. Если вы используете детализированные разрешения, могут возникнуть проблемы с этой функцией. В этом сценарии может появиться следующее сообщение об ошибке или сбой получения данных из запроса:

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

Эту проблему можно устранить, правильно изменив разрешения пользователя для API хранилища BigQuery. Эти разрешения API хранилища необходимы для правильного доступа к данным с ПОМОЩЬЮ API BigQueryStorage:

  • 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

Материализованные представления не поддерживаются в навигаторе Power BI Desktop

Известная проблема заключается в том, что соединитель Google BigQuery в настоящее время не поддерживает материализованные представления в навигаторе Power BI Desktop.

  • Обходное решение. Использование инструкций SQL собственного запроса для получения материализованных представлений из Google BigQuery.

Ошибка HTTP 403: квотаExceeded (превышена квота: превышена квота пользователя для одновременных запросов project.lists)

  • Квота превышается по использованию учетной записи клиента вызовов API project.lists в Google. При одновременном обновлении нескольких отчетов может вызвать ошибку в разных запросах или отчетах. Чтобы предотвратить ошибку, запланируйте обновление отчета в ошеломляемых интервалах.
  • Обновите запрос, чтобы включить идентификатор проекта выставления счетов . GoogleBigQuery.Database([BillingProject="Include-Billing-Project-Id-Here"])
  • GoogleBigQuery.Database Вызовы должны находиться в том же запросе, что и выбор схемы и таблицы, чтобы избежать ошибки.