Тип данных коллекции в Apache Cassandra
Во время нашего путешествия по Кассандре мы рассмотрим учебное пособие по типам данных коллекции Cassandra. Здесь мы узнаем о типе данных «Коллекция Кассандры». Это типы данных в том же смысле, что и массивы и структуры в C, C++ и т. д.
Кроме того, мы поговорим о типах данных коллекции Cassandra, используя список, набор и карту.
Следовательно, давайте начнем с типов данных коллекции Cassandra.
Типы данных коллекций для Cassandra
В Cassandra тип данных-коллекция по сути является контейнером для хранения нескольких значений. Обычно тип данных коллекции Cassandra-CQL определяется одной переменной. Эта переменная сама по себе имеет диапазон значений.
Список, набор и карта — это несколько типов данных коллекции. Над этими типами данных коллекции Cassandra выполняются многочисленные операции. Среди них операции создания, вставки, обновления и проверки.
а) Кассандра Лист
Значения для этого типа данных хранятся в виде списка. Этот список содержит несколько копий одного значения. Для типа данных списка существует только одно правило.
Элементы не могут быть изменены по порядку. Элементам присваивается определенный индекс после сохранения значений в списке. Эти индексы можно использовать для получения значений.
я) Создать таблицу
В Cassandra человек может использовать команду CREATE TABLE для создания таблицы со списком типов данных. В таблице может быть множество столбцов. Синтаксис создания таблицы таков.
cqlsh:<keyspace>>CREATE TABLE <table name>(column1 PRIMARY KEY,column2 list <data type>,column3 list <data type>,.....);
Построение таблицы с названием столбцов, номером зачисления и филиалом для «студентов».
cqlsh> USE keyspace1;
cqlsh:keyspace1> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST,
... PRIMARY KEY(EN),
... );
Выход
EN |
NAME |
|
---|---|---|
2) Вставить
Команда INSERT INTO может использоваться пользователем для добавления компонентов в таблицу. Каждое значение, заключенное в квадратные скобки, отделяется запятой. Синтаксис —
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3,....) VALUES('R1value1',['R1value1','R1value2','R1value3'...]['R1value11','R1value12','R1value13'...]...);
Пример
cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(001,'hardik',{'hardi@gmail.com'});
cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(002,'Ajites',{'ajit@mail.com'});
cqlsh:keyspace1> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(003,'Pushpa',{'tears@mail.com'});
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardi@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
3) Обновление
Команда UPDATE Cassandra используется для обновления значений определенных столбцов таблицы. Синтаксис обновления следующий.
cqlsh:<keyspace> UPDATE<table name>
SET <column2>=<column2>+['value']
where <column1>='some value';
Пример
cqlsh:keyspace2>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardikgupta.1@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
б) Сет Кассандра
Пользователь может использовать тип данных коллекции SET Cassandra для хранения коллекции элементов. После выполнения компоненты набора возвращаются в отсортированном виде.
я. Создать таблицу
Пользователь может использовать команду Construct со следующим синтаксисом, чтобы создать таблицу, содержащую набор.
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 set <data type>, column3 set <data type>.....);
Пример
Построение таблицы с названием столбцов, номером зачисления и филиалом для «студентов».
cqlsh> USE keyspace2;
cqlsh:keyspace2> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST<text>,
... PRIMARY KEY(EN),
... );
Выход
EN |
NAME |
|
---|---|---|
ii. Кассандра Вставка
Команда INSERT INTO используется со следующим синтаксисом для вставки значения в набор.
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1', 'R1value2',..},{ 'R1value11', 'R1value12',..}....);
Пример
>
cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(001,'hardik',{'hardi@gmail.com'});
cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(002,'Ajites',{'ajit@mail.com'});
cqlsh:keyspace2> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(003,'Pushpa',{'tears@mail.com'});
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardi@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
iii. Кассандра Обновление
Пользователь может обновить содержимое набора, используя этот синтаксис.
cqlsh:<keyspace>>UPDATE <table name>
SET <column2>=<column2>+['value']
where <column1>='some value';
Пример
cqlsh:keyspace2>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardikgupta.1@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
в) Карта Кассандры
Пара элементов «ключ-значение» хранится на карте — типе данных коллекции Cassandra.
я. Создать таблицу
Пользователь может использовать команду Construct, используя следующий синтаксис, для создания таблицы с картой.
cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 map <type, data type>, column3 map <type, data type>.....);
Построение таблицы с названием столбцов, номером зачисления и филиалом для «студентов».
cqlsh> USE keyspace3;
cqlsh:keyspace3> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST,
... PRIMARY KEY(EN),
... );
Выход
EN |
NAME |
|
---|---|---|
ii. Вставлять
Команда INSERT INTO используется со следующим синтаксисом для вставки значения в карту.
cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1':'R1value1' ,R1value2:'R1value01',..},{ 'R1value11':'R1value011','R1value12':'R1value012',..}....);
Пример
cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(001,'hardik',{'hardi@gmail.com'});
cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(002,'Ajites',{'ajit@mail.com'});
cqlsh:keyspace3> INSERT INTO college student (EN, NAME, EMAIL)
... VALUES(003,'Pushpa',{'tears@mail.com'});
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardi@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
iii. Обновлять
Используя этот метод, пользователь может изменить содержимое набора.
cqlsh:<keyspace>>UPDATE <table name>
SET <column2>=<column2>+['value1':'value2']
where <column1>='some value';
Пример
cqlsh:keyspace3>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;
Выход
EN |
NAME |
|
---|---|---|
001 |
hardik |
hardikgupta.1@gmail.com |
002 |
Ajites |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
Заключение
Это были три типа данных коллекции в Apache Cassandra. Управление задачами упрощается благодаря коллекциям Cassandra. Коллекции позволяют хранить множество предметов.