Копирование данных из MariaDB с помощью Фабрики данных Azure или Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия копирования в конвейере Фабрики данных Azure и Synapse Analytics копировать данные из MariaDB. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Внимание
Соединитель MariaDB, использующий рекомендуемую версию драйвера, обеспечивает улучшенную поддержку MariaDB. Если вы используете соединитель с устаревшей версией драйвера, обновите его до 31 октября 2024 года. Дополнительные сведения о различиях между устаревшей и рекомендуемой версией см. в этом разделе .
Поддерживаемые возможности
Соединитель 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:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для MariaDB с помощью пользовательского интерфейса
Выполните приведенные ниже действия, чтобы создать связанную службу для MariaDB с помощью пользовательского интерфейса на портале Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Выполните поиск слова “Maria" и выберите соединитель для MariaDB.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей фабрики данных, относящихся к соединителю MariaDB.
Свойства связанной службы
Если вы используете рекомендуемую версию драйвера, для связанной службы MariaDB поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение MariaDB. | Да |
driverVersion | Версия драйвера при выборе рекомендуемой версии драйвера. Значение равно версии 2. | Да |
server | Имя сервера MariaDB. | Да |
port | Номер порта для подключения к серверу MariaDB. | No |
database | Имя базы данных MariaDB. | Да |
username | Ваше имя пользователя. | Да |
password | Пароль для имени пользователя. Пометьте это поле как SecureString для безопасного хранения. Вы можете также указать секрет, хранящийся в Azure Key Vault. | Да |
sslMode | Этот параметр указывает, использует ли драйвер шифрование 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) (по умолчанию) |
No |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | No |
Пример:
{
"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"
}
}
}
Пример: хранение пароля в 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"
}
}
}
Если вы используете устаревшую версию драйвера, поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
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:
На странице "Изменить связанную службу" выберите "Рекомендуется" в разделе "Драйвер" и настройте связанную службу, указав свойства связанной службы.
Сопоставление типов данных для последней связанной службы MariaDB отличается от сопоставления для устаревшей версии. Сведения о последнем сопоставлении типов данных см. в разделе "Сопоставление типов данных" для MariaDB.
Последняя версия драйвера версии 2 поддерживает дополнительные версии MariaDB. Дополнительные сведения см. в разделе "Поддерживаемые возможности".
Различия между рекомендуемой и устаревшей версией драйвера
В таблице ниже показаны различия типов данных между MariaDB с помощью рекомендуемой и устаревшей версии драйвера.
Тип данных MariaDB | Тип данных промежуточной службы (с использованием рекомендуемой версии драйвера) | Тип данных промежуточной службы (с использованием устаревшей версии драйвера) |
---|---|---|
bit(1) | UInt64 | Логический |
bit(M), M>1 | UInt64 | Byte[] |
bool | Логический | Int16 |
JSON | Строка | Byte[] |
Связанный контент
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.