12.3 Cassandra数据定义
时间:2022-06-22
本文章向大家介绍12.3 Cassandra数据定义,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
12.3 Cassandra数据定义
“卜算子·大数据”一个开源、成体系的大数据学习教程。——每周日更新
本节主要内容:
- 数据定义
12.3.1 Cassandra Query Language (CQL)
CQL是Cassandra提供的接近SQL的模型,因为数据包含在行列的表中,CQL中的表,行,列的定义与SQL是相同的。
12.3.2 启动cqlsh
cqlsh
12.3.3 Clusters 集群
集群是Cassandra集群部署的名称标志,避免集群A中的机器加入其它的集群(如B)。
12.3.4 Keyspaces 键空间
键空间(Keyspace)是表的容器。
查看当前有哪些键空间可用。
DESCRIBE KEYSPACES
创建键空间
CREATE KEYSPACE busuanzi_org WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
选择键空间
USE busuanzi_org;
删除键空间
Drop keysapce_name
12.3.5 tables 表
创建 busuanzi.org 创建表
CREATE TABLE top_n_url (
username text,
projects text,
star_number int,
comment text static,
PRIMARY KEY ((username, projects), star_number)
);
插入数据
INSERT INTO top_n_url (username, projects, star_number, comment) VALUES ('wangxiaolei', 'big-data', 89, 'old');
INSERT INTO top_n_url (username, projects, star_number, comment) VALUES ('wangxiaolei', 'big-data', 101, 'new');
INSERT INTO top_n_url (username, projects, star_number, comment) VALUES ('wangxiaolei', 'machine-learning', 10, 'good');
INSERT INTO top_n_url (username, projects, star_number, comment) VALUES ('wangxiaolei', 'machine-learning', 78, 'nice');
INSERT INTO top_n_url (username, projects, star_number, comment) VALUES ('zhangsan', 'machine-learning', 1, 'ok');
查询top_n_url
cqlsh:busuanzi_org> SELECT * FROM top_n_url ;
username | projects | star_number | comment
-------------+------------------+-------------+---------
wangxiaolei | big-data | 89 | new
wangxiaolei | big-data | 101 | new
zhangsan | machine-learning | 1 | ok
wangxiaolei | machine-learning | 10 | nice
wangxiaolei | machine-learning | 78 | nice
(5 rows)
12.3.6 Cloumns 列
列和关系型数据有类似的地方为可以定义字段类型,区别在还可以定义主键和静态。
12.3.6.1 主键(The Primay key )
主键和关系型数据库的主键类似,具有唯一与检索等属性。在Cassandra中,主键的区别是,主键由两部分组成:
- 分区键(partition key),主键第一个或者第一组是分区键。
- 聚类键(clustering cloumns),主键的第二个及之后的键为聚类键。
busuanzi.org案例表中,查询出,row1,row2具有相同分区,row4,ro5具有相同分区,row3单独分区。
12.3.6.2 静态(static)
静态的列将会将数值分享给该分区其他的行。(就是说一个分区中,所有行的静态列的值相同) 静态的限制:
- 表中没有聚类键,不可以有静态(因为每一个分区都是唯一的行,所以每个列本质上是静态)的列。
- 主键的列,不可以是静态。
- 表的属性是COMPACT STORAGE的不能有静态的列。 总结,只有存在聚类的时候,非主键的列可以是静态的列,并且该表不是COMPACT STORAGE属性。
busuanzi.org案例表中,查询出,在同一分区中,静态列”comment”中,”new”替换了”old”,”nice”替换了”good”。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐
- 1小时真正掌握正则表达式
- Android Studio 安装配置教程 - Windows(详细版)
- Android 天气APP(八)城市切换 之 自定义弹窗与使用
- Android 接入udesk SDK实现IM
- Android 天气APP(十二)空气质量、UI优化调整
- Python+selenium 自动化-调用dom节点的click()监听事件,强力操作节点!穿透元素进行点击,节点被遮挡不可点击解决方法
- pkl是什么类型的文件?怎么来打开它?
- Python 技术篇-如何查看文本用什么类型的编码,文本编码查看方法
- Elasticsearch:设置 Elastic 账户安全
- Git存管代码,实例演示
- Git 技术篇-GitHub绑定本地Git,实例演示。实现代码云寄存
- Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
- Python 微信机器人:识别消息来源于群聊还是个人
- Android 对接极光推送