Копирование данных из Google BigQuery версии 2 с помощью Azure Data Factory или Synapse Analytics

ПРИМЕНИМО К: Azure Data Factory Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Azure Data Factory с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

В этой статье описывается, как использовать действие копирования в конвейерах Azure Data Factory и Synapse Analytics для копирования данных из Google BigQuery. Это продолжение статьи с обзором действия копирования, в которой представлены общие сведения о действии копирования.

Внимание

Соединитель Google BigQuery версии 1 находится на этапе удаления. Рекомендуется обновить соединитель Google BigQuery с версии 1 до версии 2.

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

Этот соединитель Google BigQuery поддерживается для следующих функций:

Поддерживаемые возможности ИКР (инфракрасное излучение)
Copy activity (источник/-) (1) (2)
Операция поиска (1) (2)

(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции

Список хранилищ данных, которые поддерживаются в качестве источников и нейтральных приемников для операции копирования, приведен в таблице Поддерживаемые хранилища данных.

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

Примечание.

Этот коннектор Google BigQuery создан на основе API BigQuery. Учтите, что в BigQuery ограничено максимальное число входящих запросов и применяются соответствующие квоты на каждый проект. Дополнительные сведения см. в разделе о квотах и ограничениях на запросы API. Не активируйте слишком много одновременных запросов к учетной записи.

Начало работы

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы для Google BigQuery с помощью пользовательского интерфейса

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

  1. Перейдите на вкладку "Управление" в рабочей области Azure Data Factory или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".

  2. Найдите Google BigQuery и выберите соединитель.

    Снимок экрана: соединитель Google BigQuery.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Снимок экрана: конфигурация связанной службы для Google BigQuery.

Сведения о конфигурации соединителя

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

Свойства связанной службы

Для связанной службы Google BigQuery поддерживаются следующие свойства.

Свойство Описание: Обязательное поле
тип Свойство type должно иметь значение GoogleBigQueryV2. Да
версия Версия, которую вы указали. Рекомендуется обновить до последней версии, чтобы воспользоваться новыми улучшениями. Да для версии 1.1
projectId Идентификатор проекта BigQuery по умолчанию для отправки запросов. Да
тип аутентификации Механизм проверки подлинности OAuth 2.0, используемый для проверки подлинности.
Допустимые значения: UserAuthentication и ServiceAuthentication. В разделах ниже описываются дополнительные свойства и приведены примеры JSON для поддерживаемых типов проверки подлинности.
Да

Использование проверки подлинности пользователей

Задайте для свойства authenticationType значение UserAuthentication и укажите следующие свойства вместе с универсальными свойствами, описанными в предыдущем разделе:

Свойство Описание: Обязательное поле
clientId Идентификатор приложения, используемого для создания маркера обновления. Да
клиентский секрет Секрет приложения, используемого для генерации токена обновления. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да
рефреш токен Токен обновления, полученный из Google и используемый для авторизации доступа к BigQuery. Узнайте, как получить один из Получение токенов доступа OAuth 2.0 и этого блога сообщества. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да

Пример:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "version": "1.1",
        "typeProperties": {
            "projectId" : "<project ID>",
            "authenticationType" : "UserAuthentication",
            "clientId": "<client ID>",
            "clientSecret": {
                "type": "SecureString",
                "value":"<client secret>"
            },
            "refreshToken": {
                "type": "SecureString",
                "value": "<refresh token>"
            }
        }
    }
}

Использование аутентификации сервиса

Задайте для свойства authenticationType значение ServiceAuthentication и укажите перечисленные ниже свойства вместе с универсальными свойствами, описанными в предыдущем разделе.

Свойство Описание: Обязательное поле
Содержимое ключевого файла Файл ключа в формате JSON, который используется для проверки подлинности учетной записи службы. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да

Пример:

{
    "name": "GoogleBigQueryLinkedService",
    "properties": {
        "type": "GoogleBigQueryV2",
        "version": "1.1",
        "typeProperties": {
            "projectId": "<project ID>",
            "authenticationType": "ServiceAuthentication",
            "keyFileContent": {
                "type": "SecureString",
                "value": "<key file JSON string>"
            }
        }
    }
}

Свойства набора данных

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

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

Свойство Описание: Обязательное поле
тип Свойство типа набора данных должно иметь значение : GoogleBigQueryV2Object Да
набор данных Имя набора данных Google BigQuery. Нет (если в источнике активности указано свойство "query")
таблица Имя таблицы. Нет (если в источнике активности указано свойство "query")

Пример

{
    "name": "GoogleBigQueryDataset",
    "properties": {
        "type": "GoogleBigQueryV2Object",
        "linkedServiceName": {
            "referenceName": "<Google BigQuery linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "dataset": "<dataset name>",
            "table": "<table name>"
        }
    }
}

Свойства Copy activity

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

GoogleBigQuerySource в качестве типа источника

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

Свойство Описание: Обязательное поле
тип Свойство типа источника действия копирования должно быть установлено на GoogleBigQueryV2Source. Да
запрос Используйте пользовательский SQL-запрос для чтения данных. Например, "SELECT * FROM MyTable". Дополнительные сведения см. в синтаксисе запросов. Нет (если заданы набор данных и таблица в наборе данных)

Пример:

"activities":[
    {
        "name": "CopyFromGoogleBigQuery",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Google BigQuery input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GoogleBigQueryV2Source",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Сопоставление типов данных для Google BigQuery версии 2

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

Тип данных Google BigQuery Промежуточный служебный тип данных
JSON String
СТРУНА String
байты Массив байтов
ЦЕЛОЕ ЧИСЛО Int64
FLOAT Double
ЧИСЛОВОЙ Decimal
BIGNUMERIC String
BOOLEAN Boolean
TIMESTAMP DateTimeOffset
DATE DateTime
TIME TimeSpan
Дата и время DateTimeOffset
ГЕОГРАФИЯ String
РЕКОРД/СТРУКТУРА String
ARRAY String

Свойства операции поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Жизненный цикл и обновление соединителя Google BigQuery

В следующей таблице показаны этап выпуска и журналы изменений для различных версий соединителя Google BigQuery:

Версия Этап выпуска Журнал изменений
Google BigQuery V1 Removed Неприменимо.
Google BigQuery V2 (версия 1.0) GA версия доступна • Проверка подлинности службы поддерживается средой выполнения интеграции Azure и локальной средой выполнения интеграции.
Свойства trustedCertPathuseSystemTrustStoreи emailkeyFilePath не поддерживаются, так как они доступны только в локальной среде выполнения интеграции.

requestGoogleDriveScope не поддерживается. Вам потребуется дополнительно применить разрешение в службе Google BigQuery, указав области действия API Google Drive и выполнение запросов к данным диска.

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

• ЧИСЛО считывается как тип данных десятичный.

• Метка времени и DateTime считываются как тип данных DateTimeOffset.
Google BigQuery версии 2 (версия 1.1) GA версия доступна • Исправлена ошибка: при выполнении нескольких инструкций query теперь возвращает результаты первой инструкции после исключения инструкций оценки, а не всегда возвращая результат первой инструкции.

Обновите коннектор Google BigQuery

Чтобы обновить соединитель Google BigQuery, выполните следующее:

  • От версии 1 до версии 2:
    Создайте связанную службу Google BigQuery и настройте ее, ссылаясь на свойства связанной службы.

  • От версии V2 1.0 до версии 1.1:
    На странице Изменить связанную службу выберите 1.1 в качестве версии. Дополнительные сведения см. в разделе "Свойства связанной службы".

Список хранилищ данных, поддерживаемых в рамках функции копирования в качестве источников и приемников, см. в разделе Поддерживаемые хранилища данных.