Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия копирования в конвейере Фабрики данных Azure или Azure Synapse Analytics копировать данные из базы данных Cassandra. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Это важно
Соединитель Cassandra версии 2.0 обеспечивает улучшенную поддержку Cassandra. Если в решении используется соединитель Cassandra версии 1.0, обновите соединитель Cassandra до 31 июля 2025 г. Дополнительные сведения о разнице между версией 2.0 и версией 1.0 см. в этом разделе .
Поддерживаемые возможности
Соединитель Cassandra предназначен для поддержки следующих возможностей:
Поддерживаемые возможности | ИНФРАКРАСНЫЙ |
---|---|
Копирование (источник/-) | (1) (2) |
Операция поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в таблице Поддерживаемые хранилища данных.
В частности, этот соединитель Cassandra поддерживает:
- Cassandra версии 3.x.x и 4.x.x для версии 2.0.
- Cassandra версии 2.x и 3.x для версии 1.0.
- Копирование данных с использованием базовой или анонимной проверки подлинности.
Примечание.
Для выполнения действий в среде выполнения интеграции на собственных серверах поддерживается Cassandra 3.x, начиная с версии среды выполнения интеграции 3.7 и выше.
Предварительные условия
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Среда выполнения интеграции предоставляет встроенный драйвер Cassandra, поэтому при копировании данных из Cassandra вам не потребуется устанавливать драйвер вручную.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для Cassandra с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу для Cassandra в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Выполните поиск по запросу Cassandra и выберите соединитель Cassandra.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей фабрики данных, специфичных для соединителя Cassandra.
Свойства связанного сервиса
Для связанной службы Cassandra поддерживаются следующие свойства:
Недвижимость | Описание: | Обязательное поле |
---|---|---|
тип | Для свойства type необходимо задать значение Cassandra. | Да |
версия | Версия, которую вы укажете. | Да для версии 2.0. |
хост | Один или несколько IP-адресов или имен узлов серверов Cassandra. Укажите через запятую список IP-адресов или имен узлов для одновременного подключения ко всем серверам. |
Да |
порт | TCP-порт, используемый сервером Cassandra для прослушивания клиентских подключений | Нет (значение по умолчанию — 9042) |
тип аутентификации | Тип проверки подлинности, используемый для подключения к базе данных Cassandra. Допустимые значения: Базовый, Анонимный. |
Да |
имя пользователя | Укажите имя пользователя для учетной записи пользователя | Да (если для свойства authenticationType задано значение Basic) |
пароль | Укажите пароль для учетной записи пользователя. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | Да (если для свойства authenticationType задано значение Basic) |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | Нет |
Примечание.
В настоящее время подключение к Cassandra по протоколу SSL не поддерживается.
Пример: версия 2.0
{
"name": "CassandraLinkedService",
"properties": {
"type": "Cassandra",
"version": "2.0",
"typeProperties": {
"host": "<host>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример: версия 1.0
{
"name": "CassandraLinkedService",
"properties": {
"type": "Cassandra",
"typeProperties": {
"host": "<host>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных Cassandra.
Чтобы скопировать данные из Cassandra, установите для свойства type набора данных значение CassandraTable. Поддерживаются следующие свойства:
Недвижимость | Описание: | Обязательное поле |
---|---|---|
тип | Свойство type для набора данных должно иметь значение CassandraTable. | Да |
Ключевое пространство | Имя пространства ключей или схемы в базе данных Cassandra | Нет (если для "CassandraSource" указано значение "query") |
имяТаблицы | Имя таблицы в базе данных Cassandra | Нет (если для "CassandraSource" указано значение "query") |
Пример:
{
"name": "CassandraDataset",
"properties": {
"type": "CassandraTable",
"typeProperties": {
"keySpace": "<keyspace name>",
"tableName": "<table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Cassandra linked service name>",
"type": "LinkedServiceReference"
}
}
}
Свойства действия копирования
Полный список разделов и свойств, доступных для определения действий, см. в статье Конвейеры. Этот раздел содержит список свойств, поддерживаемых источником Cassandra.
Cassandra в качестве источника
Если вы используете версию 2.0 для копирования данных из Cassandra, задайте тип источника в действии копирования в CassandraSource. В разделе source операции копирования поддерживаются следующие свойства:
Недвижимость | Описание: | Обязательное поле |
---|---|---|
тип | Свойство type источника действия копирования должно иметь значение CassandraSource. | Да |
запрос | Используйте пользовательский запрос для чтения данных. Запрос CQL, см. справочник по CQL. | Нет (если в наборе данных определены свойства tableName и keyspace) |
уровень согласованности | Уровень консистентности определяет количество реплик, которые должны ответить на запрос на чтение перед возвращением данных в клиентское приложение. База данных Cassandra проверяет указанное количество реплик данных, чтобы удовлетворить запрос на чтение. Дополнительные сведения см. в статье Configuring data consistency (Настройка согласованности данных). Допустимые значения: ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM и LOCAL_ONE. |
Нет (значение по умолчанию — ONE ) |
Пример:
"activities":[
{
"name": "CopyFromCassandra",
"type": "Copy",
"inputs": [
{
"referenceName": "<Cassandra input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "CassandraSource",
"query": "select id, firstname, lastname from mykeyspace.mytable",
"consistencyLevel": "one"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Если вы используете версию 1.0 для копирования данных из Cassandra, задайте тип источника в действии копирования как CassandraSource. В разделе source операции копирования поддерживаются следующие свойства:
Недвижимость | Описание: | Обязательное поле |
---|---|---|
тип | Свойство type источника действия копирования должно иметь значение CassandraSource. | Да |
запрос | Используйте пользовательский запрос для чтения данных. Запрос SQL-92 или CQL. Ознакомьтесь со справочником по CQL. Если используется SQL-запрос, то таблицу, к которой необходимо отправить запрос, укажите в формате имя_пространства_ключей.имя_таблицы. |
Нет (если в наборе данных определены свойства tableName и keyspace) |
уровень согласованности | Уровень консистентности определяет количество реплик, которые должны ответить на запрос на чтение перед возвращением данных в клиентское приложение. База данных Cassandra проверяет указанное количество реплик данных, чтобы удовлетворить запрос на чтение. Дополнительные сведения см. в статье Configuring data consistency (Настройка согласованности данных). Допустимые значения: ONE, TWO, THREE, QUORUM, ALL, LOCAL_QUORUM, EACH_QUORUM и LOCAL_ONE. |
Нет (значение по умолчанию — ONE ) |
Сопоставление типов данных для Cassandra
При копировании данных из Cassandra используются следующие сопоставления типов данных Cassandra с промежуточными типами данных, используемыми службой для внутренних целей. Дополнительные сведения о том, как действие копирования сопоставляет исходную схему и сопоставление типов данных с приемником, см. в разделе Схемы и сопоставление типов данных.
Тип данных Cassandra | Тип данных промежуточной службы (для версии 2.0) | Тип данных промежуточной службы (для версии 1.0) |
---|---|---|
ASCII | Строка | Строка |
БИГИНТ | Int64 | Int64 |
BLOB-объект | Байт[] | Байт[] |
Булевый | Логический | Логический |
Дата | Дата/время | Дата/время |
ДЕСЯТИЧНЫЙ | Десятичный | Десятичный |
ДВОЙНОЙ | Двойной | Двойной |
плавающий | Один | Один |
инет | Строка | Строка |
ИНТ | Int32 | Int32 |
СМОЛЛИНТ | Коротко | Int16 |
ТЕКСТ | Строка | Строка |
TIMESTAMP | Дата/время | Дата/время |
TIMEUUID | GUID | GUID |
TINYINT | SByte | Int16 |
Универсальный уникальный идентификатор (UUID) | GUID | GUID |
VARCHAR | Строка | Строка |
VARINT | Десятичный | Десятичный |
Примечание.
Типы коллекций (сопоставление, набор, список и т. д.) в версии 1.0 см. в разделе Работа с типами коллекций Cassandra с помощью виртуальной таблицы при использовании версии 1.0.
Пользовательские типы не поддерживаются.
Длина столбца двоичного кода и столбца строки не может превышать 4000 знаков.
Работа с коллекциями при использовании версии 2.0
При использовании версии 2.0 для копирования данных из базы данных Cassandra виртуальные таблицы для типов коллекций не создаются. Исходную таблицу можно скопировать в приемник в исходном типе в формате JSON.
Пример
Пример таблицы ExampleTable в базе данных Cassandra содержит следующие столбцы: столбец первичного ключа pk_int (целое число), текстовый столбец value, столбец списка, столбец отображения и столбец множества (названный StringSet).
pk_int | Значение | Список | Карта | набор строк |
---|---|---|---|---|
1 | пример значения 1 | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | {"A", "B", "C"} |
3 | пример значения 3 | ["100", "101", "102", "105"] | {"S1": "т"} | {"A", "E"} |
Данные можно считывать непосредственно из исходной таблицы, а значения столбцов сохраняются в исходном формате JSON, как показано в следующей таблице:
pk_int | Значение | Список | Карта | набор строк |
---|---|---|---|---|
1 | пример значения 1 | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | ["A", "B", "C"] |
3 | пример значения 3 | ["100", "101", "102", "105"] | {"S1": "т"} | ["A", "E"] |
Работа с коллекциями с помощью виртуальной таблицы при использовании версии 1.0
В службе используется встроенный драйвер ODBC, который позволяет подключаться к базе данных Cassandra и копировать из нее данные. Для типов коллекций, включая отображения, наборы и списки, драйвер ренормализует данные в соответствующие виртуальные таблицы. В частности, если таблица содержит столбцы коллекции, драйвер создает следующие виртуальные таблицы.
- Базовая таблица, в которой содержатся те же данные, что и в исходной таблице, кроме столбцов коллекции. Название основной таблицы совпадает с названием реальной таблицы, которую она представляет.
- Виртуальная таблица для каждого столбца коллекции, раскрывающая вложенные данные. Виртуальные таблицы, представляющие коллекции, именуются с использованием имени исходной таблицы, разделителя "vt" и имени столбца.
Виртуальные таблицы ссылаются на данные в исходной таблице, что позволяет драйверу подключаться к денормализованным данным. Дополнительные сведения см. в разделе "Пример". Доступ к содержимому коллекций Cassandra можно получить при помощи отправки запроса и соединения виртуальных таблиц.
Пример
Пример таблицы ExampleTable в базе данных Cassandra содержит следующие столбцы: столбец первичного ключа pk_int (целое число), текстовый столбец value, столбец списка, столбец отображения и столбец множества (названный StringSet).
pk_int | Значение | Список | Карта | набор строк |
---|---|---|---|---|
1 | пример значения 1 | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | {"A", "B", "C"} |
3 | пример значения 3 | ["100", "101", "102", "105"] | {"S1": "т"} | {"A", "E"} |
Для представления такой одной таблицы драйвер создает несколько виртуальных таблиц. Столбцы внешнего ключа в виртуальных таблицах ссылаются на столбцы первичного ключа в исходных таблицах и указывают, какая строка исходной таблицы соответствует строке виртуальной таблицы.
Первая виртуальная таблица, базовая таблица с названием "ExampleTable", представлена в следующей таблице:
pk_int | Значение |
---|---|
1 | пример значения 1 |
3 | пример значения 3 |
Базовая таблица содержит те же данные, что и исходная таблица базы данных, за исключением коллекций, которые опущены в этой таблице и раскрыты в других виртуальных таблицах.
Ниже приведены виртуальные таблицы, в которых ренормализированы данные из столбцов "Список", "Сопоставление" и StringSet. Столбцы, имена которых заканчиваются на _index или _key, указывают на позицию данных в исходном списке или отображении. Столбцы, имена которых заканчиваются на _value, содержат развернутые данные из коллекции.
Таблица "ExampleTable_vt_List":
pk_int | Индекс_списка | Значение_списка |
---|---|---|
1 | 0 | 1 |
1 | 1 | 2 |
1 | 2 | 3 |
3 | 0 | 100 |
3 | 1 | 101 |
3 | 2 | 102 |
3 | 3 | 103 |
Таблица ExampleTable_vt_Map:
pk_int | Ключ карты | Значение_карты |
---|---|---|
1 | С1 | А |
1 | S2 | б |
3 | С1 | t |
Таблица ExampleTable_vt_StringSet:
pk_int | StringSet_value |
---|---|
1 | А |
1 | Б |
1 | С |
3 | А |
3 | Е |
Свойства операции поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Обновление соединителя Cassandra
Ниже приведены действия, которые помогут обновить соединитель Cassandra:
На странице "Изменить связанную службу " выберите версию 2.0 и настройте связанную службу, указав свойства связанной службы.
В версии 2.0
query
источник операции копирования поддерживает только запрос CQL, а не запрос SQL-92. Дополнительные сведения см. в Cassandra как источник.Сопоставление типов данных для версии 2.0 отличается от сопоставления типов данных для версии 1.0. Чтобы узнать о последнем обновлении сопоставления типов данных, см. в разделе Сопоставление типов данных для Cassandra.
Различия между Cassandra версии 2.0 и версией 1.0
Соединитель Cassandra версии 2.0 предлагает новые функциональные возможности и совместим с большинством функций версии 1.0. В таблице ниже показаны различия функций между версией 2.0 и версией 1.0.
Версия 2.0 | Версия 1.0 |
---|---|
Поддержка запроса CQL. | Поддержка запроса SQL-92 или CQL-запроса. |
Поддержка указания keyspace и tableName отдельно в наборе данных. |
Поддержка редактирования keyspace при выборе опции "ввести имя таблицы в наборе данных вручную". |
Виртуальные таблицы не создаются для типов коллекций. Дополнительные сведения см. в статье "Работа с коллекциями при использовании версии 2.0". | Виртуальные таблицы создаются для типов коллекций. Дополнительные сведения см. в Работа с типами коллекций Cassandra с помощью виртуальной таблицы для версии 1.0. |
Следующие сопоставления применяются для типов данных Cassandra к промежуточным типам данных службы. СМОЛИНТ -> Шорт TINYINT -> SByte |
Следующие сопоставления применяются для типов данных Cassandra к промежуточным типам данных службы. SMALLINT -> Int16 TINYINT -> Int16 |
Связанный контент
Список хранилищ данных, поддерживаемых в качестве источников и приемников для действия копирования, см. в Поддерживаемые хранилища данных.