Тип данных коллекции в Apache Cassandra
Тип данных коллекции в Cassandra
 В этой статье мы опишем обзор типов данных коллекции и запрос Cassandra Query Language (CQL) для каждого типа данных коллекции с пояснениями. В Cassandra есть 3 типа собираемых данных.
1. УСТАНОВИТЬ 2. СПИСОК 3. КАРТА
Давай обсудим по очереди.
1 КОМПЛЕКТ:
 Набор - это набор данных, в котором мы можем хранить группу элементов, так что у пользователя может быть несколько адресов электронной почты, а затем для хранения такого типа данных мы использовали набор данных сбора, который возвращает отсортированные элементы при запросе. Это типизированная коллекция уникальных значений.
Синтаксис:
Создать таблицу keyspace-Name.Table-Name ( поле 1 data_type 1, / * Ключевое слово SET используется для определения типа данных коллекции. * / поле 1 установить <data_type>, поле 1 data_type 1, key_constraint, если есть );
Шаг-1: Для создания пространства ключей используется следующий запрос CQL.
СОЗДАТЬ КЛЮЧЕВОЕ ПРОСТРАНСТВО keypace1
    С репликацией = {'class': 'SimpleStrategy', 
                        'replication_factor': 1};CQL-запрос для использования пространства ключей1
 Используйте keyspace1;
СОЗДАТЬ ТАБЛИЦУ сотрудника ( E_id int, E_name текст, / * задаем синтаксис для определения E_email как типа данных коллекции списка. * / E_email SET <текст>, ПЕРВИЧНЫЙ КЛЮЧ (E_id) );
Шаг 2: Синтаксис для вставки с использованием типа данных набора наборов.
 Синтаксис:
 ВСТАВИТЬ INTO имя_таблицы (поле 1, поле 2, поле 3 ..) 
            ЗНАЧЕНИЯ ('field1_value', {'field2_value1', 'field2_value2', ..}, 
                                   {'field3_value1', 'field3_value2', ..} ....);CQL-запрос для вставки с использованием SET:
 ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЗНАЧЕНИЯ (100, 'Аюш Агарвал', {'ayush@gmail.com', 'ayush2@gmail.com'});
ВСТАВИТЬ сотрудника (E_id, E_name, E_email) 
            ЗНАЧЕНИЯ (101, 'Арпан мишра', {'arpan@gmail.com', 'arpan2@gmail.com'});
ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЦЕННОСТИ (102, 'Ашиш Рана', {'ashish@gmail.com', 'ashish2@gmail.com'});Шаг 3: CQL-запрос для получения данных таблицы.
выберите * из Сотрудника;
Выход:

 Рисунок - Cassandra-Table_set
2. СПИСОК:
 В списке одно значение может храниться несколько раз. Одно из правил в типе данных коллекции списков, что порядок элементов не может быть изменен. В списке, когда значения сохранены, элементы получают определенный индекс, тогда значения могут быть извлечены через эти конкретные индексы. В списке элемент не обязательно должен быть уникальным и может быть продублирован.
Шаг-1: Для создания таблицы используется следующий CQL-запрос.
СОЗДАТЬ ТАБЛИЦУ keypace1.Employee ( E_id int, E_name текст, / * синтаксис списка для определения E_email как типа данных коллекции списка. * / E_email list <текст>, ПЕРВИЧНЫЙ КЛЮЧ (E_id) );
Шаг 2: Синтаксис для вставки с использованием типа данных коллекции списка.
Синтаксис:
 ВСТАВИТЬ INTO имя_таблицы (поле 1, поле 2, поле 3 ..) 
            ЗНАЧЕНИЯ ('field1_value', ['field2_value1', 'field2_value2', ..], 
                                    ['field3_value1', 'field3_value2', ..] ....);CQL-запрос для вставки с использованием LIST:
 ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЗНАЧЕНИЯ (101, 'Anmol', ['Anmol@gmail.com', 'anmol1@gmail.com']);
ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЦЕННОСТИ (102, «Аакаш томар», [«Akash@gmail.com», «Akash2@gmail.com»]);
ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЦЕННОСТИ (103, 'Ashish paliwal', ['ashish@gmail.com', 'ashish2@gmail.com']);
ВСТАВИТЬ В сотрудника (E_id, E_name, E_email) 
            ЦЕННОСТИ (104, 'Ашиш Рана', ['a1@gmail.com', 'a2@gmail.com']);Шаг 3: CQL-запрос для получения данных таблицы.
выберите * из Сотрудника;
Выход:

Рисунок - Таблица СПИСОК для вышеуказанного запроса CQL
3. КАРТА:
 В MAP - типизированный набор пар ключ-значение, такой как пара значений с соответствующим именем ключа. Тип данных сбора MAP упорядочен по уникальным ключам.
Шаг-1: Для создания таблицы используется следующий CQL-запрос.
СОЗДАТЬ ТАБЛИЦУ keypace1.Activity ( E_id int, E_name текст, карта задачи <отметка времени, текст>, ПЕРВИЧНЫЙ КЛЮЧ (E_id) );
Шаг 2: Синтаксис для вставки с использованием типа данных коллекции карт.
Синтаксис:
 ВСТАВИТЬ INTO имя_таблицы (поле 1, поле 2, поле 3 ..) 
            ЗНАЧЕНИЯ ({'ключ1': 'значение1', 'ключ2': 'значение2' ..........});CQL-запрос для вставки с использованием MAP:
 ВСТАВИТЬ В сотрудника (E_id, E_name, Task) 
            ЗНАЧЕНИЯ (001, 'Vaibhav Nirwal', {'2019-09-28': 'тип сбора данных', 
                                                '2019-09-29': 'тип данных карты'});
ВСТАВИТЬ В сотрудника (E_id, E_name, Task) 
            ЗНАЧЕНИЯ (002, 'Акш Томар', {'2019-09-28': 'база данных создана', 
                                       '2019-09-29': 'создание таблицы'});Шаг 3: CQL-запрос для получения данных таблицы.
выберите * из Activity;
Выход:

 Рисунок - Таблица MAP для вышеуказанного запроса CQL