Поиск по сайту:

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

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

EMAIL

001

hardik

hardikgupta.1@gmail.com

002

Ajites

ajit@mail.com

003

Pushpa

tears@mail.com

Заключение

Это были три типа данных коллекции в Apache Cassandra. Управление задачами упрощается благодаря коллекциям Cassandra. Коллекции позволяют хранить множество предметов.

Статьи по данной тематике: