Apache Cassandra 中的集合資料類型

WBOY
發布: 2023-08-25 22:37:09
轉載
937 人瀏覽過

Apache Cassandra 中的集合数据类型

我們將在 Cassandra 之旅中查看 Cassandra 集合資料類型教學。在本文中,我們將了解 Cassandra 的 Collection 資料類型。這些資料類型與 C、C 等中的陣列和結構具有相同的意義。

此外,我們將討論使用清單、集合和對應的 Cassandra 集合資料類型。

因此,讓我們從 Cassandra 集合資料類型開始。

Cassandra 的集合資料型別

在 Cassandra 中,集合資料類型本質上是多個值的儲存容器。通常,Cassandra-CQL 集合資料類型由單一變數定義。該變數本身有一個值範圍。

清單、集合和映射是幾種集合資料類型。對這些 Cassandra 集合資料類型執行大量操作。其中包括建立、插入、更新和驗證操作。

a)Cassandra 列表

此資料類型的值以清單形式儲存。此清單包含單一值的多個副本。對於清單資料型別,只有一條規則。

元素不能依序修改。值儲存在清單中後,元素會被賦予特定的索引。這些索引可用於取得值。

i) 建立表格

在 Cassandra 中,個人可以使用 CREATE TABLE 指令建立具有清單資料類型的表。表中可能有很多欄位。創建表的語法是。

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

建立一個表,其中包含「大學生」的名稱、學號和分支。

cqlsh> USE keyspace1;
cqlsh:keyspace1> 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('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'});
登入後複製

輸出

一個

姓名

電子郵件

001

#哈迪克

hardi@gmail.com

002

#阿吉特斯

#ajit@mail.com

003

#普什帕

#tears@mail.com

iii) 更新

Cassandra 的 UPDATE 指令用於更新某些表格列的值。更新語法如下。

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;
登入後複製

輸出

一個

姓名

電子郵件

001

#哈迪克

hardikgupta.1@gmail.com

#002

#阿吉特斯

#ajit@mail.com

003

#普什帕

#tears@mail.com

b) 卡桑德拉集合

使用者可以使用 SET Cassandra 集合資料類型來儲存元素集合。執行完畢後,集合的組成部分會以排序的方式傳回。

我。創建表

使用者可以使用具有以下語法的建構指令來建立包含該集的表。

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

範例

建立一個表,其中包含「大學生」的名稱、學號和分支。

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

輸出

一個

姓名

電子郵件

ii.卡桑德拉插入

INSERT INTO 指令與下列語法一起使用,將值插入集合。

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'});
登入後複製

輸出

一個

姓名

電子郵件

001

#哈迪克

hardi@gmail.com

002

#阿吉特斯

#ajit@mail.com

003

#普什帕

#tears@mail.com

iii.卡桑德拉更新

使用者可以使用此語法更新集合中的內容。

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;
登入後複製

輸出

一個

姓名

電子郵件

001

#哈迪克

hardikgupta.1@gmail.com

#002

#阿吉特斯

#ajit@mail.com

003

#普什帕

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

以上是Apache Cassandra 中的集合資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!