Тип данных коллекции в 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