Копирование данных из Google BigQuery с помощью Фабрика данных Azure или Synapse Analytics (устаревшая версия)
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описано, как с помощью действия копирования в Фабрике данных Azure и конвейерах Synapse Analytics копируются данные из Google BigQuery. Это продолжение статьи с обзором действия копирования, в которой представлены общие сведения о действии копирования.
Внимание
Соединитель Google BigQuery версии 2 обеспечивает улучшенную поддержку Google BigQuery. Если вы используете соединитель Google BigQuery версии 1 в решении, обновите соединитель Google BigQuery, так как версия 1 находится на этапе поддержки. Дополнительные сведения о различиях между версиями 2 и V1 см. в этом разделе .
Поддерживаемые возможности
Этот соединитель Google BigQuery поддерживается для выполнения следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/-) | (1) (2) |
Действие поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия копирования, приведен в таблице Поддерживаемые хранилища данных и форматы.
В службе предоставляется встроенный драйвер, который обеспечивает подключение. Поэтому не нужно вручную устанавливать драйвер для использования этого соединителя.
Соединитель поддерживает версии Windows в этой статье.
Примечание.
Этот соединитель Google BigQuery создан на основе API-интерфейсов BigQuery. Учтите, что в BigQuery ограничено максимальное число входящих запросов и применяются соответствующие квоты на каждый проект. Дополнительные сведения см. в разделе о квотах и ограничениях на запросы API. Не активируйте слишком много одновременных запросов к учетной записи.
Необходимые компоненты
Чтобы использовать этот соединитель, вам потребуются следующие минимальные разрешения Google BigQuery:
- bigquery.connections.*
- bigquery.datasets.*
- bigquery.jobs.*
- bigquery.readsessions.*
- bigquery.routines.*
- bigquery.tables.*
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для Google BigQuery с помощью пользовательского интерфейса
Выполните приведенные ниже действия, чтобы создать связанную службу для Google BigQuery с помощью пользовательского интерфейса портала Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Найдите Google и выберите соединитель Google BigQuery.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей, относящихся к соединителю Google BigQuery.
Свойства связанной службы
Для связанной службы Google BigQuery поддерживаются следующие свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение GoogleBigQuery. | Да |
проект | Идентификатор проекта BigQuery по умолчанию для отправки запросов. | Да |
additionalProjects | Список разделенных запятыми идентификаторов общедоступных проектов BigQuery для доступа. | No |
requestGoogleDriveScope | Определяет, следует ли подавать запрос на доступ к Google Drive. Если разрешить доступ к Google Drive, включится поддержка для федеративных таблиц, которые объединяют данные BigQuery с данными с Google Drive. Значение по умолчанию равно false. | No |
authenticationType | Механизм OAuth 2.0 для аутентификации. ServiceAuthentication может использоваться только в локальных средах выполнения интеграции. Допустимые значения: UserAuthentication и ServiceAuthentication. В разделах ниже описываются дополнительные свойства и приведены примеры JSON для поддерживаемых типов проверки подлинности. |
Да |
Использование проверки подлинности пользователей
Задайте для свойства authenticationType значение UserAuthentication и укажите следующие свойства вместе с универсальными свойствами, описанными в предыдущем разделе:
Свойство | Описание: | Обязательное поле |
---|---|---|
clientId | Идентификатор приложения, используемого для создания маркера обновления. | Да |
clientSecret | Секрет приложения, используемого для создания маркера обновления. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | Да |
refreshtoken | Маркер обновления, полученный из Google, используемый для авторизации доступа к BigQuery. Сведения о том, как его получить, см. здесь и здесь. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | Да |
Минимальная область, необходимая для получения маркера обновления OAuth 2.0, — https://www.googleapis.com/auth/bigquery.readonly
. Если вы планируете выполнить запрос, который может возвращать более объемные результаты, может потребоваться другая область. Дополнительные сведения см. в этой статье.
Пример:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
Использование проверки подлинности службы
Задайте для свойства authenticationType значение ServiceAuthentication и укажите перечисленные ниже свойства вместе с универсальными свойствами, описанными в предыдущем разделе. Этот тип проверки подлинности можно использовать только в локальных средах выполнения интеграции.
Свойство | Описание: | Обязательное поле |
---|---|---|
эл. почта | Идентификатор электронной почты учетной записи службы, используемый для ServiceAuthentication. Может использоваться только в локальной среде выполнения интеграции. | No |
keyFilePath | Полный .json путь к файлу ключа, который используется для проверки подлинности адреса электронной почты учетной записи службы. |
Да |
trustedCertPath | Полный путь к PEM-файлу, который содержит сертификаты доверенного ЦС, используемые для проверки сервера при подключении по протоколу TLS. Это свойство можно задать, только если TLS используется в локальной среде выполнения интеграции. Значением по умолчанию является файл cacerts.pem, который устанавливается вместе со средой выполнения интеграции. | No |
useSystemTrustStore | Указывает, следует ли использовать сертификат ЦС из доверенного системного хранилища или из указанного PEM-файла. Значение по умолчанию равно false. | No |
Примечание.
Соединитель больше не поддерживает файлы ключей P12. Если вы используете учетные записи службы, вместо этого рекомендуется использовать файлы ключей JSON. Свойство P12CustomPwd, используемое для поддержки файла ключей P12, также устарело. Дополнительные сведения см. в этой статье.
Пример:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе содержится список свойств, поддерживаемых набором данных Google BigQuery.
Чтобы скопировать данные из Google BigQuery, установите для свойства type набора данных значение GoogleBigQueryObject. Поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type (Тип) для набора данных должно иметь значение: GoogleBigQueryObject | Да |
набор данных | Имя набора данных Google BigQuery. | Нет (если свойство query указано в источнике действия) |
table | Имя таблицы. | Нет (если свойство query указано в источнике действия) |
tableName | Имя таблицы. Это свойство поддерживается только для обеспечения обратной совместимости. Для новой рабочей нагрузки используйте dataset и table . |
Нет (если свойство query указано в источнике действия) |
Пример
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery linked service name>",
"type": "LinkedServiceReference"
}
}
}
Свойства действия копирования
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. В этом разделе содержится список свойств, поддерживаемых типом источника Google BigQuery.
GoogleBigQuerySource в качестве типа источника
Чтобы копировать данные Google BigQuery, установите тип источника GoogleBigQuerySource в действии копирования. В разделе source действия копирования поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type источника действия копирования необходимо задать значение GoogleBigQuerySource. | Да |
query | Используйте пользовательский SQL-запрос для чтения данных. Например, "SELECT * FROM MyTable" . |
Нет (если для набора данных задано свойство tableName) |
Пример:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Связанный контент
Список хранилищ данных, поддерживаемых в рамках функции копирования в качестве источников и приемников, см. в разделе Поддерживаемые хранилища данных.