我们将在 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 studentset 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 studentset 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 studentset 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 中的集合数据类型的详细内容。