Rumah  >  Artikel  >  pangkalan data  >  Jenis data pengumpulan dalam Apache Cassandra

Jenis data pengumpulan dalam Apache Cassandra

WBOY
WBOYke hadapan
2023-08-25 22:37:09969semak imbas

Apache Cassandra 中的集合数据类型

Kami akan menyemak tutorial jenis data pengumpulan Cassandra dalam perjalanan Cassandra kami. Dalam artikel ini, kita akan mempelajari tentang jenis data Koleksi Cassandra. Jenis data ini mempunyai makna yang sama seperti tatasusunan dan struktur dalam C, C++, dsb.

Selain itu, kami akan membincangkan jenis data pengumpulan Cassandra menggunakan senarai, set dan peta.

Jadi, mari kita mulakan dengan jenis data pengumpulan Cassandra.

Jenis data pengumpulan Cassandra

Di Cassandra, jenis data pengumpulan pada asasnya ialah bekas storan untuk berbilang nilai. Biasanya, jenis data pengumpulan Cassandra-CQL ditakrifkan oleh pembolehubah tunggal. Pembolehubah itu sendiri mempunyai julat nilai.

Senarai, set dan peta ialah beberapa jenis data pengumpulan. Lakukan pelbagai operasi pada jenis data pengumpulan Cassandra ini. Ini termasuk membuat, memasukkan, mengemas kini dan mengesahkan operasi.

a)Senarai Cassandra

Nilai jenis data ini disimpan dalam bentuk senarai. Senarai ini mengandungi berbilang salinan satu nilai. Untuk jenis data senarai, hanya terdapat satu peraturan.

Elemen tidak boleh diubah suai secara berurutan. Apabila nilai disimpan dalam senarai, elemen itu diberikan indeks tertentu. Indeks ini boleh digunakan untuk mendapatkan nilai.

i) Buat jadual

Dalam Cassandra, seseorang boleh mencipta jadual dengan jenis data senarai menggunakan arahan CREATE TABLE. Mungkin terdapat banyak lajur dalam jadual. Sintaks untuk membuat jadual ialah.

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

Bina jadual yang mengandungi nama, nombor pelajar dan cawangan "pelajar kolej".

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

Output

satu

Nama

E-mel

ii) Masukkan

Pengguna boleh menggunakan arahan INSERT INTO untuk menambah komponen pada jadual. Setiap nilai yang disertakan dalam kurungan segi empat sama dipisahkan dengan koma. Sintaksnya ialah -

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

Contoh

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

Output

satu

Nama

E-mel

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii) Kemas kini

Arahan KEMASKINI Cassandra digunakan untuk mengemas kini nilai lajur jadual tertentu. Sintaks yang dikemas kini adalah seperti berikut.

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

Contoh

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

Output

satu

Nama

E-mel

001

Hardik

hardikgupta.1@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

b) Koleksi Cassandra

Pengguna boleh menggunakan jenis data koleksi SET Cassandra untuk menyimpan koleksi elemen. Selepas pelaksanaan, komponen koleksi dikembalikan dalam susunan yang disusun.

Saya. Buat jadual

Pengguna boleh menggunakan arahan bina dengan sintaks berikut untuk mencipta jadual yang mengandungi set.

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

Contoh

Bina jadual yang mengandungi nama, nombor pelajar dan cawangan "pelajar kolej".

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

Output

satu

Nama

E-mel

ii.Cassandra Insert

Arahan INSERT INTO digunakan dengan sintaks berikut untuk memasukkan nilai ke dalam koleksi.

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

Contoh

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

Output

satu

Nama

E-mel

001

Hardik

hardi@gmail.com

002

Ajits

ajit@mail.com

003

Pushpa

tears@mail.com

iii. Kemas kini Cassandra

Pengguna boleh menggunakan sintaks ini untuk mengemas kini kandungan dalam koleksi.

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

Contoh

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

Output

satu

Nama

E-mel

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

Atas ialah kandungan terperinci Jenis data pengumpulan dalam Apache Cassandra. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam