Heim >Datenbank >MySQL-Tutorial >Sammlungsdatentypen in 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.
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.
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.
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), ... );
eins |
Name |
|
---|---|---|
|
|
|
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'...]...);
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'});
eins |
Name |
|
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
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';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
eins |
Name |
|
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
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.
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>.....);
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), ... );
eins |
Name |
|
---|---|---|
|
|
|
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',..}....);
> 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'});
eins |
Name |
|
---|---|---|
001 |
Hardik |
hardi@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
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';
cqlsh:keyspace2>UPDATE college student SET EMAIL=EMAIL+['hardikgupta.1@gmail.com'] where EN=001;
eins |
Name |
|
---|---|---|
001 |
Hardik |
hardikgupta.1@gmail.com |
002 |
Ajits |
ajit@mail.com |
003 |
Pushpa |
tears@mail.com |
一对键值项存储在映射(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), ... );
一个 |
姓名 |
电子邮件 |
---|---|---|
|
|
|
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 |
使用此技术,用户可以修改集合的内容。
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!