Heim  >  Artikel  >  Datenbank  >  Sammlungsdatentypen in Apache Cassandra

Sammlungsdatentypen in Apache Cassandra

WBOY
WBOYnach vorne
2023-08-25 22:37:09912Durchsuche

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

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

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'...]...);

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

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

Beispiel

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

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

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

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

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

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

Beispiel

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

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

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

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 集合可以轻松进行任务管理。集合允许存储大量项目。

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen