Копирование данных из MariaDB с помощью 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 для копирования данных из MariaDB. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

Внимание

Соединитель MariaDB версии 1.0 находится на этапе удаления. Рекомендуется обновить соединитель MariaDB с версии 1.0 до версии 2.0.

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

Соединитель MariaDB поддерживается для следующих возможностей:

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

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

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

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

Этот соединитель в настоящее время поддерживает MariaDB версии 10.x, 11.x в соединителе MariaDB версии 2.0 и 10.0 до 10.5 для версии 1.0.

Предварительные условия

Если хранилище данных находится в локальной сети, виртуальной сети Azure или Amazon Virtual Private Cloud, необходимо настроить самостоятельно размещаемую среду выполнения интеграции для подключения к нему.

Если хранилище данных является управляемой облачной службой данных, можно использовать Azure Integration Runtime. Если доступ ограничен ip-адресами, утвержденными в правилах брандмауэра, в список разрешений можно добавить ip-адреса Azure Integration Runtime/c0.

Вы также можете использовать функцию управляемой среды выполнения интеграции виртуальной сети в Azure Data Factory для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.

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

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

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

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

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

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

  2. Выполните поиск Maria и выберите соединитель MariaDB.

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

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

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

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

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

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

Если вы используете версию 2.0, для связанной службы MariaDB поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение MariaDB. Да
версия драйвера Версия драйвера при выборе версии 2.0. Значение равно v2. Да
сервер Имя сервера MariaDB. Да
порт Номер порта для подключения к серверу MariaDB. нет
база данных Имя базы данных MariaDB. Да
имя пользователя Ваше имя пользователя. Да
пароль Пароль для имени пользователя. Пометьте это поле как SecureString для безопасного хранения. Кроме того, можно сослаться на секрет, хранящийся в Azure Key Vault. Да
режим SSL Этот параметр указывает, использует ли драйвер шифрование TLS и проверку при подключении к MariaDB. Пример: SSLMode=<0/1/2/3/4>.
Параметры: DISABLED (0) / PREFERRED (1) / REQUIRED (2) / VERIFY_CA (3) / VERIFY_IDENTITY (4) (по умолчанию)
Да
useSystemTrustStore (использовать хранилище доверия системы) Этот параметр указывает, следует ли использовать сертификат ЦС из доверенного системного хранилища или из указанного PEM-файла. Например, UseSystemTrustStore=<0/1>;
Параметры: включено (1) / Отключено (0) (по умолчанию)
нет
connectVia Integration Runtime для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если он не указан, используется Azure Integration Runtime по умолчанию. нет

Примечание.

Соединитель MariaDB версии 2.0 по умолчанию использует самое высокое шифрование TLS и проверку с помощью sslMode=VERIFY_IDENTITY (4). На основе конфигурации TLS сервера настройте sslMode по мере необходимости.

Пример:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "server": "<server>",
            "port": "<port>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "driverVersion": "v2",
            "sslMode": <sslmode>,
            "useSystemTrustStore": <UseSystemTrustStore>
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Example: хранение пароля в Azure Key Vault

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "server": "<server>",
            "port": "<port>",
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": {
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                },
                "secretName": "<secretName>"
            },
            "driverVersion": "v2",
            "sslMode": <sslmode>,
            "useSystemTrustStore": <UseSystemTrustStore>
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

При использовании версии 1.0 поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Для свойства type необходимо задать значение MariaDB. Да
connectionString Строка подключения ODBC для подключения к MariaDB.
Вы также можете поместить пароль в Azure Key Vault и извлечь конфигурацию pwd из connection string. Дополнительные сведения см. в следующих примерах и статье Хранение учетных данных в Azure Key Vault.
Да
connectVia Integration Runtime для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если он не указан, используется Azure Integration Runtime по умолчанию. нет

Пример:

{
    "name": "MariaDBLinkedService",
    "properties": {
        "type": "MariaDB",
        "typeProperties": {
            "connectionString": "Server=<host>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

Чтобы скопировать данные из MariaDB, задайте для свойства type набора данных значение MariaDBTable. В этом типе набора данных нет дополнительных свойств для определенного типа.

Пример

{
    "name": "MariaDBDataset",
    "properties": {
        "type": "MariaDBTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MariaDB linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Свойства Copy activity

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником MariaDB.

MariaDB в качестве источника

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

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

Пример:

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

Сопоставление типов данных для MariaDB

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

Тип данных MariaDB Тип данных промежуточной службы (для версии 2.0) Тип данных промежуточной службы (для версии 1.0)
BIGINT Int64 Int64
BIGINT UNSIGNED (без знака) UInt64 Decimal
BIT(1) UInt64 Логический
BIT(M), M>1 UInt64 Байт[]
БЛОБ Байт[] Байт[]
BOOL Логический
(Если TreatTinyAsBoolean=false, он сопоставляется с SByte. TreatTinyAsBoolean по умолчанию имеет значение true)
Int16
CHAR Строка Строка
DATE Дата и время Дата и время
Дата и время Дата и время Дата и время
ДЕСЯТИЧНЫЙ Decimal Десятичное число, строка
ДВОЙНОЙ Double Double
ДВОЙНАЯ ТОЧНОСТЬ Double Double
ENUM Строка Строка
FLOAT Single Single
INT Int32 Int32
INT UNSIGNED (неизменяемое целое число с указанием, что оно без знака) Int64 Int64
INTEGER Int32 Int32
ЦЕЛОЕ ЧИСЛО БЕЗ ЗНАКА UInt32 Int64
JSON (JavaScript Object Notation) Строка Байт[]
LONG VARBINARY Байт[] Байт[]
LONG VARCHAR (длинное текстовое поле) Строка Строка
LONGBLOB Байт[] Байт[]
LONGTEXT Строка Строка
MEDIUMBLOB Байт[] Байт[]
MEDIUMINT Int32 Int32
MEDIUMINT БЕЗ ЗНАКА UInt32 Int64
СРЕДНИЙТЕКСТ Строка Строка
ЧИСЛОВОЙ Decimal Decimal
РЕАЛЬНЫЙ Double Double
SET Строка Строка
SMALLINT Int16 Int16
СМОЛИНТ НЕЗНАКОВЫЙ (SMALLINT UNSIGNED) UInt16 Int32
текст Строка Строка
TIME TimeSpan TimeSpan
TIMESTAMP Дата и время Дата и время
TINYBLOB Байт[] Байт[]
TINYINT SByte Int16
TINYINT без знака Int16 Int16
TINYTEXT Строка Строка
VARCHAR Строка Строка
YEAR Int Int

Свойства действия поиска

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

Обновление соединителя MariaDB

Ниже приведены действия, которые помогут вам обновить соединитель MariaDB:

  1. На странице "Изменить связанную службу" выберите 2.0 в разделе "Версия" и настройте связанную службу, указав свойства связанной службы.

  2. Сопоставление типов данных для версии 2.0 отличается от сопоставления типов данных для версии 1.0. Сведения о сопоставлении типов данных версии 2.0 см. в разделе "Сопоставление типов данных" для MariaDB.

  3. Последняя версия драйвера версии 2 поддерживает дополнительные версии MariaDB. Дополнительные сведения см. в разделе "Поддерживаемые возможности".

В таблице ниже показаны различия в сопоставлении типов данных между MariaDB версии 2.0 и версией 1.0.

Тип данных MariaDB Тип данных промежуточной службы (с использованием версии 2.0) Тип данных промежуточной службы (с использованием версии 1.0)
BIGINT UNSIGNED (без знака) UInt64 Decimal
BIT(1) UInt64 Логический
BIT(M), M>1 UInt64 Байт[]
BOOL Логический Int16
ДЕСЯТИЧНЫЙ Decimal Десятичное число, строка
ЦЕЛОЕ ЧИСЛО БЕЗ ЗНАКА UInt32 Int64
JSON (JavaScript Object Notation) Строка Байт[]
MEDIUMINT БЕЗ ЗНАКА UInt32 Int64
СМОЛИНТ НЕЗНАКОВЫЙ (SMALLINT UNSIGNED) UInt16 Int32
TINYINT SByte Int16

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