
我们将在 Cassandra 之旅中查看 Cassandra 集合数据类型教程。在本文中,我们将了解 Cassandra 的 Collection 数据类型。这些数据类型与 C、C++ 等中的数组和结构具有相同的意义。
此外,我们将讨论使用列表、集合和映射的 Cassandra 集合数据类型。
因此,让我们从 Cassandra 集合数据类型开始。
Cassandra 的集合数据类型
在 Cassandra 中,集合数据类型本质上是多个值的存储容器。通常,Cassandra-CQL 集合数据类型由单个变量定义。该变量本身有一个值范围。
列表、集合和映射是几种集合数据类型。对这些 Cassandra 集合数据类型执行大量操作。其中包括创建、插入、更新和验证操作。
a)Cassandra 列表
此数据类型的值以列表形式保存。该列表包含单个值的多个副本。对于列表数据类型,只有一条规则。
元素不能按顺序修改。值存储在列表中后,元素会被赋予特定的索引。这些索引可用于获取值。
i) 创建表
在 Cassandra 中,个人可以使用 CREATE TABLE 命令创建具有列表数据类型的表。表中可能有很多列。创建表的语法是。
cqlsh:>CREATE TABLE
(column1 PRIMARY KEY,column2 list ,column3 list ,.....);
登录后复制
构建一个表,其中包含“大学生”的名称、学号和分支。
cqlsh> USE keyspace1;
cqlsh:keyspace1> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST,
... PRIMARY KEY(EN),
... );
登录后复制
输出
ii) 插入
用户可以使用 INSERT INTO 命令将组件添加到表中。方括号中包含的每个值均以逗号分隔。语法是 -
cqlsh:> INSERT INTO
(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: UPDATE
SET =+['value']
where ='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: CREATE TABLE
(column1 PRIMARY KEY, column2 set , column3 set .....);
登录后复制
示例
构建一个表,其中包含“大学生”的名称、学号和分支。
cqlsh> USE keyspace2;
cqlsh:keyspace2> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST,
... PRIMARY KEY(EN),
... );
登录后复制
输出
ii.卡桑德拉插入
INSERT INTO 命令与以下语法一起使用,将值插入到集合中。
cqlsh:> INSERT INTO
(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:>UPDATE
SET =+['value']
where ='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: CREATE TABLE
(column1 PRIMARY KEY, column2 map , column3 map .....);
登录后复制
构建一个表,其中包含“大学生”的名称、学号和分支。
cqlsh> USE keyspace3;
cqlsh:keyspace3> CREATE TABLE employee
... (EN int,
... NAME text,
... EMAIL LIST,
... PRIMARY KEY(EN),
... );
登录后复制
输出
ii.插入
INSERT INTO 命令与以下语法一起使用,将值插入到映射中。
cqlsh:> INSERT INTO
(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:>UPDATE
SET =+['value1':'value2']
where ='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 中的集合数据类型的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!
相关推荐
尚硅谷高级版MySQL网盘是一款非常实用的数据库应用,旨在为用户提供快速、安全、高效的文件管理服务。从文件上传到文件下载,一切的流程都十分简单明了,而且该网盘还具备多项智能化功能,如文件同步、共享、备份等,更加贴心实用。 CREATE TABLE file ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '文件ID', name varchar(100)
对于数据库的操作可以用图形界面,也可以用指令,但很多运维同学和技术高手更喜欢指令操作,敲键盘更有感觉。 更重要的是,虽然图形界面封装了各种指令,操作可视化,学习成本低,但是当出现问题,由于中间多了一层往往不容易定位问题,会对问题诊断,产生一些混淆。 技术社群的这篇文章《技术分享 | 一次有趣的 MySQL 客户端命令用法的探索》简单介绍了一些运维时MySQL客户端中经常使用的一些小技巧。这些小技巧
我的世界BC端MySQL概述 我的世界BC端MySQL是一个极其重要的功能,主要用于数据存储和管理,其它模块也会使用这个模块提供的API来进行数据存储和使用。MySQL是一个强大的开源关系数据库管理系统,广泛应用于各种场景,包括大型企业,小型应用程序等等。 MySQL数据库和BC端的结合 在我的世界BC端中,MySQL数据库是用来存储各种物品,武器、生命值等等这些数据的,玩家在游戏中发生的各种操作
Mysql这个数据库有没有人不熟悉?不用的?没有吧。 2019年末,MySQL发布的8.0.18 GA版本,带来了一些新特性和增强功能。其中最引人注目的莫过于多表连接查询支持Hash Join。 还是老样子,建议英文好的同学直接看这里:https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html 关于MySQL Hash Join的特性介绍: 1、
概述 本篇文章对MogDB执行计划的知识和测试做相关整理,主要针对以下问题展开: 1、详细记录第一次物理读、逻辑读的执行计划差别; 2、对比索引、全表扫描的执行计划差别; 3、对比只通过索引访问、和通过索引访问之后在回表的执行计划; 4、对比多表关联有多少种执行计划,差异是什么; 知识原理 1.SQL执行流程 SQL引擎从接受SQL语句到执行SQL语句需要经历的步骤如下图所示: 其中,sql首先是
回到顶部