Google BigQuery (сервис анализа данных)

Сводка

Товар Описание
Статус релиза Общая доступность
Продукция Power BI (семантические модели)
Power BI (потоки данных)
Fabric (поток данных 2-го поколения)
Power Apps (потоки данных)
Customer Insights (потоки данных)
Поддерживаемые типы проверки подлинности Учетная запись организации
Сервисный аккаунт

Примечание.

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

Версии соединителя Google BigQuery

Power Query поддерживает две реализации соединителя Google BigQuery:

  • Версия 1 (на основе ODBC) — устаревшая реализация на основе ODBC.
  • Версия 2 (на основе ADBC) — новая реализация, основанная на подключении к базе данных Apache Arrow (ADBC), предназначенная для повышения производительности, надежности и масштабируемости для больших аналитических рабочих нагрузок.

Соединитель версии 2 — это рекомендуемый вариант для новых рабочих нагрузок в поддерживаемых интерфейсах. Дополнительные сведения о функции соединителя версии 2.

Предпосылки

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

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

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

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

Примечание.

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

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

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

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

    снимок экрана начального диалогового окна с выбранными расширенными параметрами.

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

    снимок экрана диалогового окна проверки подлинности, используемого для входа в Google BigQuery.

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

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

    снимок экрана: диалоговое окно входа в Google.

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

    снимок экрана диалогового окна проверки подлинности, в котором вы подключаетесь к данным Google BigQuery.

  6. После успешного подключения появится окно навигатора и отобразит данные, доступные на сервере. Выберите данные в навигаторе. Затем выберите Transform Data для преобразования данных в 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 из вашего приложения, см. в разделе Where to get data.

    снимок экрана диалогового окна

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

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

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

    Примечание.

    Хотя в диалоговом окне входа говорится, что после входа вы перейдете на Power BI Desktop, вас перенаправляют в веб-версию приложения.

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

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

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

    снимок экрана диалогового окна

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

    Скриншот навигатора Power Query загружает данные Google BigQuery в интернет приложение.

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

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

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

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

Выбрав необходимые дополнительные параметры, выберите OK в Power Query Desktop или Next в Power Query Online для подключения к данным Google BigQuery.

Новая реализация соединителя Google BigQuery (предварительная версия)

С мая 2025 года мы представили новую реализацию соединителя Google BigQuery для улучшения интеграции с Google BigQuery, в настоящее время доступной в предварительной версии. Он использует подключение к базе данных со стрелками (ADBC) вместо ODBC для подключения к данным и получения данных из Google BigQuery, что повышает производительность, особенно для больших результирующих наборов. По мере того как мы продолжаем улучшать и добавлять новые возможности в этот соединитель, мы рекомендуем вам обновить до последней версии, чтобы попробовать ее и предоставить нам отзыв.

Примечание.

Эта функция поддерживается в 64-разрядной версии Power BI Desktop и не работает в 32-разрядной версии.

Чтобы получить доступ к этой функции в Power BI Desktop, перейдите к разделу Options и settings (в разделе File Tab) >Options>Preview features а затем установите флажок, чтобы включить параметр Использовать новую реализацию соединителя Google BigQuery. После включения параметра все только что созданные подключения автоматически используют новую реализацию соединителя.

Существующие подключения остаются неизменными. Вы можете попробовать эту функцию, добавив флаг Implementation="2.0" в запросы GoogleBigQuery.Database, как показано ниже. Это свойство отличает версию используемого соединителя.

Чтобы получить доступ к этой функции в Dataflow Gen2, после настройки получения данных из Google BigQuery, перейдите в расширенный редактор на верхней панели и добавьте флаг Implementation="2.0" в ваши GoogleBigQuery.Database запросы следующим образом, чтобы использовать этот новый соединитель.

Source = GoogleBigQuery.Database([Implementation = "2.0"])

Примечание.

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

Чтобы облегчить диагностику любой потенциальной проблемы, вы можете найти Implementation, обозначенный как "2.0", и DriverType, обозначенный как ADBC, в ваших журналах Mashup.

В настоящее время этот соединитель имеет следующие известные ограничения:

  • Отношения не поддерживаются.
  • Прокси-сервер не поддерживается.

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

В этом разделе описаны ограничения или рекомендации соединителя 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>.

В этом случае в расширенном параметре Billing Project в настройках подключения Power Query может потребоваться ввести ID проекта учета выставления счетов.

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

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

Поддержка единого облачного подключения

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

Вложенные поля

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

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

снимок экрана: навигатор с поддержкой вложенных полей Google BigQuery.

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

  1. На вкладке ленты Transforms выберите категорию Text Column, затем выберите Parse и 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 вызывает ошибку Invalid query или визуальную ошибку.

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

При запросе столбца, имеющего то же имя таблицы, 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: превышена квота (Квота пользователя превышена для одновременных запросов project.lists)

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

Сбой ExecuteQueryInternalAsync при использовании ADBC

Некоторые пользователи могут столкнуться с проблемами при подключении к BigQuery с помощью Implementation="2.0" пути и получения ошибки Cannot execute <ExecuteQueryInternalAsync>b__2 after 5 tries. Эта проблема может быть вызвана несколькими факторами:

  • Проблема с разрешением, описанная в следующем разделе.
  • Если LargeResultDataset передается, драйвер пытается создать выходной набор данных с указанным именем. Для создания требуются соответствующие разрешения.
  • Если во время создания набора данных явно не указан ни одного региона, API BigQuery по умолчанию используется для нескольких регионов США. Это поведение определяется самим API, а не конфигурацией соединителя или клиента.

Варианты обходного решения

Создание набора данных вручную

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

Конфигурация соединителя рабочего стола

Если вы используете Power BI Desktop и столкнулись с ошибками при переходе к таблицам:

  1. Перейдите к Файл>Параметры и настройки>Параметры
  2. В разделе "Предварительные версии" снимите флажок "Использовать новую реализацию соединителя Google BigQuery".

Если вы получите это сообщение вместе с дополнительными сведениями, содержащими Last exception: ..., где ... представляют собой сведения о сбое, создайте инцидент для дальнейшего исследования.

Проблемы с разрешениями, связанные с подключением к ADBC

В некоторых средах могут потребоваться дополнительные разрешения для подключения с помощью Implementation="2.0"/ADBC. Это связано с тем, что путь ADBC использует различные API BigQuery для запроса и загрузки данных, отличных от ODBC. Необходимые разрешения описаны в репозитории драйвера GitHub.

Не удалось обновить секционированные модели с помощью ADBC

Известная проблема в соединителе Google BigQuery заключается в том, что секционированные семантические модели могут не обновляться правильно. Это часто отображается с ошибкой Cannot execute <ReadChunkWithRetries>b__0 after 5 tries . Недавнее исправление было опубликовано для этой проблемы и должно быть развернуто в октябре 2025 года. Если вы получите это сообщение вместе с дополнительными сведениями, содержащими Last exception: ..., где ... представляют собой сведения о сбое, создайте инцидент для дальнейшего исследования.