Maison  >  Article  >  base de données  >  Types de données de collecte dans Apache Cassandra

Types de données de collecte dans Apache Cassandra

WBOY
WBOYavant
2023-08-25 22:37:09954parcourir

Apache Cassandra 中的集合数据类型

Nous consulterons le didacticiel sur les types de données de la collection Cassandra dans notre parcours Cassandra. Dans cet article, nous découvrirons le type de données Collection de Cassandra. Ces types de données ont la même signification que les tableaux et les structures en C, C++, etc.

Nous discuterons également des types de données de collection Cassandra à l'aide de listes, d'ensembles et de cartes.

Commençons donc par le type de données de collection Cassandra.

Type de données de collecte de Cassandra

Dans Cassandra, un type de données de collection est essentiellement un conteneur de stockage pour plusieurs valeurs. En règle générale, les types de données de collection Cassandra-CQL sont définis par une seule variable. La variable elle-même a une plage de valeurs.

Les listes, les ensembles et les cartes sont plusieurs types de données de collecte. Effectuez un large éventail d’opérations sur ces types de données de collection Cassandra. Celles-ci incluent les opérations de création, d’insertion, de mise à jour et de vérification.

a) Liste Cassandra

Les valeurs de ce type de données sont enregistrées sous forme de liste. La liste contient plusieurs copies d'une seule valeur. Pour les types de données de liste, il n’existe qu’une seule règle.

Les éléments ne peuvent pas être modifiés séquentiellement. Lorsqu'une valeur est stockée dans une liste, l'élément se voit attribuer un index spécifique. Ces index peuvent être utilisés pour obtenir des valeurs.

i) Créer un tableau

Dans Cassandra, on peut créer une table avec un type de données liste à l'aide de la commande CREATE TABLE. Il peut y avoir plusieurs colonnes dans le tableau. La syntaxe pour créer une table est la suivante.

cqlsh:<keyspace>>CREATE TABLE <table name>(column1 PRIMARY KEY,column2 list <data type>,column3 list <data type>,.....);

Construisez un tableau contenant le nom, le numéro d'étudiant et la branche des « étudiants ».

cqlsh> USE keyspace1;
cqlsh:keyspace1> CREATE TABLE employee
                            ... (EN int,
                            ... NAME text,
                            ... EMAIL LIST,
                            ... PRIMARY KEY(EN),
                            ... );

Sortie

un

Nom

E-mail

ii) Insérer

Les utilisateurs peuvent utiliser la commande INSERT INTO pour ajouter des composants au tableau. Chaque valeur entre crochets est séparée par des virgules. La syntaxe est -

cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3,....) VALUES('R1value1',['R1value1','R1value2','R1value3'...]['R1value11','R1value12','R1value13'...]...);

Exemple

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'});

Sortie

un

Nom

E-mail

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii) Mise à jour

La commande UPDATE de Cassandra est utilisée pour mettre à jour les valeurs de certaines colonnes du tableau. La syntaxe mise à jour est la suivante.

cqlsh:<keyspace> UPDATE<table name>
SET <column2>=<column2>+['value']
where <column1>='some value';

Exemple

cqlsh:keyspace2>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;

Sortie

un

Nom

E-mail

001

Hardik

hardikgupta.1@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

b) Collection Cassandre

Les utilisateurs peuvent utiliser le type de données de collection SET Cassandra pour stocker des collections d'éléments. Après exécution, les composants de la collection sont renvoyés dans un ordre trié.

Moi. Créer un tableau

Les utilisateurs peuvent utiliser la commande construct avec la syntaxe suivante pour créer un tableau contenant l'ensemble.

cqlsh:<keyspace> CREATE TABLE<table name> (column1 PRIMARY KEY, column2 set <data type>, column3 set <data type>.....);

Exemple

Construisez un tableau contenant le nom, le numéro d'étudiant et la branche des « étudiants ».

cqlsh> USE keyspace2;
cqlsh:keyspace2> CREATE TABLE employee
                            ... (EN int,
                            ... NAME text,
                            ... EMAIL LIST<text>,
                            ... PRIMARY KEY(EN),
                            ... );

Sortie

un

Nom

E-mail

ii.Insérer Cassandra

La commande

INSERT INTO est utilisée avec la syntaxe suivante pour insérer des valeurs dans une collection.

cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1', 'R1value2',..},{ 'R1value11', 'R1value12',..}....);

Exemple

>
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'});

Sortie

un

Nom

E-mail

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii. Le point sur Cassandra

Les utilisateurs peuvent utiliser cette syntaxe pour mettre à jour le contenu d'une collection.

cqlsh:<keyspace>>UPDATE <table name>
SET <column2>=<column2>+['value']
where <column1>='some value';

Exemple

cqlsh:keyspace2>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;

Sortie

un

Nom

E-mail

001

Hardik

hardikgupta.1@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

c)Cassandra 地图

一对键值项存储在映射(Cassandra 集合数据类型)中。

我。创建表

用户可以使用以下语法的“构造”命令来创建带有地图的表。

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),
                            ... );

输出

一个

姓名

电子邮件

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'});

输出

一个

姓名

电子邮件

001

哈迪克

hardi@gmail.com

002

阿吉特斯

ajit@mail.com

003

普什帕

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;

输出

一个

姓名

电子邮件

001

哈迪克

hardikgupta.1@gmail.com

002

阿吉特斯

ajit@mail.com

003

普什帕

tears@mail.com

结论

这是 Apache Cassandra 中的三种集合数据类型。通过 Cassandra 集合可以轻松进行任务管理。集合允许存储大量项目。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer