Heim > Datenbank > MySQL-Tutorial > Sammlungsdatentypen in Apache Cassandra

Sammlungsdatentypen in Apache Cassandra

WBOY
Freigeben: 2023-08-25 22:37:09
nach vorne
978 Leute haben es durchsucht

Apache Cassandra 中的集合数据类型

Auf unserer Cassandra-Reise werden wir uns das Tutorial zum Cassandra-Erfassungsdatentyp ansehen. In diesem Artikel erfahren Sie mehr über den Datentyp „Collection“ von Cassandra. Diese Datentypen haben dieselbe Bedeutung wie Arrays und Strukturen in C, C++ usw.

Außerdem besprechen wir die Datentypen der Cassandra-Sammlung mithilfe von Listen, Mengen und Karten.

Also beginnen wir mit dem Datentyp der Cassandra-Sammlung.

Cassandras Sammlungsdatentyp

In Cassandra ist ein Sammlungsdatentyp im Wesentlichen ein Speichercontainer für mehrere Werte. Typischerweise werden Cassandra-CQL-Sammlungsdatentypen durch eine einzelne Variable definiert. Die Variable selbst hat einen Wertebereich.

Listen, Sets und Karten sind verschiedene Sammlungsdatentypen. Führen Sie eine Vielzahl von Vorgängen für diese Datentypen der Cassandra-Sammlung durch. Dazu gehören Erstellungs-, Einfüge-, Aktualisierungs- und Überprüfungsvorgänge.

a)Cassandra-Liste

Werte dieses Datentyps werden in Listenform gespeichert. Die Liste enthält mehrere Kopien eines einzelnen Werts. Für Listendatentypen gibt es nur eine Regel.

Elemente können nicht nacheinander geändert werden. Wenn ein Wert in einer Liste gespeichert wird, wird dem Element ein bestimmter Index zugewiesen. Mithilfe dieser Indizes können Werte ermittelt werden.

i) Tabelle erstellen

In Cassandra kann man mit dem Befehl CREATE TABLE eine Tabelle mit Listendatentyp erstellen. Die Tabelle kann viele Spalten enthalten. Die Syntax zum Erstellen einer Tabelle lautet.

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

Erstellen Sie eine Tabelle mit dem Namen, der Studentennummer und dem Zweig der „Hochschulstudenten“.

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

Ausgabe

eins

Name

E-Mail

ii) Einfügen

Benutzer können den Befehl INSERT INTO verwenden, um Komponenten zur Tabelle hinzuzufügen. Jeder in eckige Klammern eingeschlossene Wert wird durch Kommas getrennt. Die Syntax ist -

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

Beispiel

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'});
Nach dem Login kopieren

Ausgabe

eins

Name

E-Mail

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii) Update

Der UPDATE-Befehl von Cassandra wird verwendet, um die Werte bestimmter Tabellenspalten zu aktualisieren. Die aktualisierte Syntax lautet wie folgt.

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

Beispiel

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

Ausgabe

eins

Name

E-Mail

001

Hardik

hardikgupta.1@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

b) Cassandra-Sammlung

Benutzer können den Sammlungsdatentyp SET Cassandra verwenden, um Sammlungen von Elementen zu speichern. Nach der Ausführung werden die Komponenten der Sammlung in sortierter Reihenfolge zurückgegeben.

Ich. Tabelle erstellen

Benutzer können den Konstruktbefehl mit der folgenden Syntax verwenden, um eine Tabelle mit dem Satz zu erstellen.

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

Beispiel

Erstellen Sie eine Tabelle mit dem Namen, der Studentennummer und dem Zweig der „Hochschulstudenten“.

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

Ausgabe

eins

Name

E-Mail

ii.Cassandra-Einsatz

Der Befehl

INSERT INTO wird mit der folgenden Syntax verwendet, um Werte in eine Sammlung einzufügen.

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

Beispiel

>
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'});
Nach dem Login kopieren

Ausgabe

eins

Name

E-Mail

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii. Cassandra-Update

Benutzer können diese Syntax verwenden, um Inhalte in einer Sammlung zu aktualisieren.

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

Beispiel

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

Ausgabe

eins

Name

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>.....);
Nach dem Login kopieren

构建一个表,其中包含“大学生”的名称、学号和分支。

cqlsh> USE keyspace3;
cqlsh:keyspace3> CREATE TABLE employee
                            ... (EN int,
                            ... NAME text,
                            ... EMAIL LIST,
                            ... PRIMARY KEY(EN),
                            ... );
Nach dem Login kopieren

输出

一个

姓名

电子邮件

ii.插入

INSERT INTO 命令与以下语法一起使用,将值插入到映射中。

cqlsh:<keyspace>> INSERT INTO <table name>(column1, column2, column3...) VALUES('R1value',{'R1value1':'R1value1' ,R1value2:'R1value01',..},{ 'R1value11':'R1value011','R1value12':'R1value012',..}....);
Nach dem Login kopieren

示例

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'});
Nach dem Login kopieren

输出

一个

姓名

电子邮件

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';
Nach dem Login kopieren

示例

cqlsh:keyspace3>UPDATE college student
SET EMAIL=EMAIL+['hardikgupta.1@gmail.com']
where EN=001;
Nach dem Login kopieren

输出

一个

姓名

电子邮件

001

哈迪克

hardikgupta.1@gmail.com

002

阿吉特斯

ajit@mail.com

003

普什帕

tears@mail.com

结论

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

Das obige ist der detaillierte Inhalt vonSammlungsdatentypen in Apache Cassandra. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage