Копирование данных из MariaDB с помощью Фабрики данных Azure или Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

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

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

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

Поддерживаемые возможности IR
Действие копирования (источник/-) (1) (2)
Действие поиска (1) (2)

① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции

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

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

Этот соединитель в настоящее время поддерживает MariaDB версии 10.x, 11.x в рекомендуемой версии драйвера версии 2 и 10.0 до 10.5 для устаревшей версии драйвера.

Необходимые компоненты

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

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

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

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

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

Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:

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

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

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

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

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

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

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

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

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

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

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

Свойство Описание: Обязательное поле
type Для свойства type необходимо задать значение MariaDB. Да
driverVersion Версия драйвера при выборе рекомендуемой версии драйвера. Значение равно версии 2. Да
server Имя сервера MariaDB. Да
port Номер порта для подключения к серверу MariaDB. No
database Имя базы данных MariaDB. Да
username Ваше имя пользователя. Да
password Пароль для имени пользователя. Пометьте это поле как SecureString для безопасного хранения. Вы можете также указать секрет, хранящийся в Azure Key Vault. Да
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. No

Пример:

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

Пример: хранение пароля в 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"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

Пример:

{
    "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"
        }
    }
}

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

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

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

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

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение MariaDBSource. Да
query Используйте пользовательский 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 Промежуточный тип данных службы Тип данных промежуточной службы (для устаревшей версии драйвера)
bigint Int64 Int64
bigint unsigned Decimal Decimal
bit(1) UInt64 Boolean
bit(M), M>1 UInt64 Byte[]
blob Byte[] Byte[]
bool Boolean
(Если TreatTinyAsBoolean=false, он сопоставляется как SByte. TreatTinyAsBoolean имеет значение true по умолчанию )
Int16
char String String
date Datetime Datetime
datetime Datetime Datetime
decimal Decimal Decimal, String
double Double Double
double precision Double Double
enum String String
float Single Single
int Int32 Int32
int unsigned Int64 Int64
integer Int32 Int32
integer unsigned Int64 Int64
JSON String -
long varbinary Byte[] Byte[]
long varchar String String
longblob Byte[] Byte[]
longtext String String
mediumblob Byte[] Byte[]
mediumint Int32 Int32
mediumint unsigned Int64 Int64
mediumtext String String
numeric Decimal Decimal
real Double Double
set String String
smallint Int16 Int16
smallint unsigned Int32 Int32
text String String
time TimeSpan TimeSpan
timestamp Datetime Datetime
tinyblob Byte[] Byte[]
tinyint SByte Int16
tinyint unsigned Int16 Int16
tinytext String String
varchar String String
year Int Int

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

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

Обновление версии драйвера MariaDB

Ниже приведены инструкции по обновлению версии драйвера MariaDB:

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

  2. Сопоставление типов данных для последней связанной службы MariaDB отличается от сопоставления для устаревшей версии. Сведения о последнем сопоставлении типов данных см. в разделе "Сопоставление типов данных" для MariaDB.

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

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

Тип данных MariaDB Тип данных промежуточной службы (с использованием рекомендуемой версии драйвера) Тип данных промежуточной службы (с использованием устаревшей версии драйвера)
bit(1) UInt64 Логический
bit(M), M>1 UInt64 Byte[]
bool Логический Int16
JSON Строка Byte[]

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