Keyspaces

A cluster is a container for keyspaces. A keyspace is the outermost container for data in Cassandra, corresponding closely to a schema in a relational database. The keyspace can include operational elements, such as replication factor and data center awareness. Let's create a keyspace:

-- create a keyspace 'my_keyspace'
create keyspace my_keyspace with replication={'class':'SimpleStrategy', 'replication_factor':1}; -- use the keyspace
use my_keyspace; -- drop the keyspace
drop keyspace my_keyspace;

Creating a table

To create a table type the following in cqlsh, note that you must first create a keyspace and then use that keyspace:

CREATE TABLE users (
firstname text,
lastname text,
age int,
email text,
city text,
PRIMARY KEY (lastname)
);

Describe a table

To see detail information about a table type:

DESCRIBE TABLE users;

Insert records

To insert records in the table type:

INSERT INTO users (firstname, lastname, age, email, city) VALUES ('John', 'Smith', 46, 'johnsmith@email.com', 'Sacramento');
INSERT INTO users (firstname, lastname, age, email, city) VALUES ('Jane', 'Doe', 36, 'janedoe@email.com', 'Beverly Hills');
INSERT INTO users (firstname, lastname, age, email, city) VALUES ('Rob', 'Byrne', 24, 'robbyrne@email.com', 'San Diego');

Querying a table

To query a table type the following:

SELECT * FROM users;

 lastname | age | city          | email               | firstname
----------+-----+---------------+---------------------+-----------
Doe | 36 | Beverly Hills | janedoe@email.com | Jane
Byrne | 24 | San Diego | robbyrne@email.com | Rob
Smith | 46 | Sacramento | johnsmith@email.com | John (3 rows)

We can filter the result by using a predicate:

SELECT * FROM users WHERE lastname= 'Doe';

 lastname | age | city          | email             | firstname
----------+-----+---------------+-------------------+-----------
Doe | 36 | Beverly Hills | janedoe@email.com | Jane (1 rows)

Updating records

To update a record in a table type the following:

UPDATE users SET city= 'San Jose' WHERE lastname= 'Doe';

The update should be available almost instantly (remember that cassandra is eventually consistent):

SELECT * FROM users where lastname= 'Doe';

 lastname | age | city     | email             | firstname
----------+-----+----------+-------------------+-----------
Doe | 36 | San Jose | janedoe@email.com | Jane (1 rows)

Deleting records

To delete a record type:

DELETE from users WHERE lastname = 'Doe';

which should result in:

SELECT * FROM users where lastname= 'Doe';

 lastname | age | city | email | firstname
----------+-----+------+-------+----------- (0 rows) SELECT * from users; lastname | age | city | email | firstname
----------+-----+------------+---------------------+-----------
Byrne | 24 | San Diego | robbyrne@email.com | Rob
Smith | 46 | Sacramento | johnsmith@email.com | John (2 rows) python cassandra客户端操作:
from cassandra.cluster import Cluster
cluster = Cluster(["10.178.204.225"])
session = cluster.connect('my_keyspace')
session.execute("""
insert into users (lastname, age, city, email, firstname) values ('Jones', 35, 'Austin', 'bob@example.com', 'Bob')
""")
result = session.execute("select * from users where lastname='Jones' ")[0]
print result.firstname, result.age session.execute("update users set age = 36 where lastname = 'Jones'")
result = session.execute("select * from users where lastname='Jones' ")[0]
print result.firstname, result.age session.execute("delete from users where lastname = 'Jones'")
result = session.execute("select * from users")
for x in result:
print x.age

参考:

https://academy.datastax.com/resources/getting-started-apache-cassandra-and-python-part-i?unit=getting-started-apache-cassandra-and-python-part-i

https://github.com/dnvriend/apache-cassandra-test/blob/master/readme.md

 

cassandra cqlsh 和 python客户端的更多相关文章

  1. Redis的Python客户端redis-py的初步使用

    1. Redis的安装 sudo pip install redis sudo pip install hiredis Parser可以控制如何解析redis响应的内容.redis-py包含两个Par ...

  2. thrift例子:python客户端/java服务端

    java服务端的代码请看上文. 1.说明: 这两篇文章其实解决的问题是,当使用python去访问大数据线上集群的时候,遇到两个问题: 1)python-hadoop和python-hive相关包链接不 ...

  3. zookeeper的python客户端安装

    项目中使用了python,需要使用到zookeeper的功能,这里记录一下安装过程. 内核版本:2.6.32 发行版:CentOs-6.6 64bit 1.由于python客户端依赖c的客户端所以要先 ...

  4. 配置百度云盘python客户端bypy上传备份文件

    要求:安装python2.7,安装git 1.git clone https://github.com/houtianze/bypy.git 2.cd bypy 3.sudo python setup ...

  5. Cassandra 数据库, python cqlsh命令

    ★  cql操作数据库(cqlsh.bat: python cqlsh命令操作<优缺点:https://blog.csdn.net/vbirdbest/article/details/77662 ...

  6. Rest Post示例(java服务端、python客户端)

    前提:服务端是现成的,java.springMVC.resttemplate.jboss等:突然有个需要,要在windows上开发一个客户端,作用是定期向服务端上传文件.想了想,如果客户端写一个jav ...

  7. python客户端编程

    上一篇说了最为底层的用来网络通讯的套接字.有很多基于套接字的一些协议,这些协议构成了当今互联网大多数客户服务器应用的核心 其实这些协议时在套接字上面的进一层封装用来完成特定的应用,这些应用主要包括: ...

  8. FFrpc python客户端lib

    摘要: Ffrpc可以很方便的构建c++ server, 在网游服务器程序开发中,进程间通讯非常的重要,比如gateserver和gameserver或dbserver之间的通信.而ffrpc可以使得 ...

  9. openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】

    还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服 ...

随机推荐

  1. 我的Java开发学习之旅------>Eclipse 项目有红感叹号解决之道

    今天一个读者问我关于Android通过调用Webservice实现天气预报这篇文章的源码下载后出现的错误 Could not find class 'org.ksoap2.transport.Http ...

  2. 20170411 F-02创建财务凭证

    SAPMF05A 100 X       0   BDC_OKCODE /00   0   BKPF-BLDAT 20170411   0   BKPF-BLART SA   0   BKPF-BUK ...

  3. api token

    具体实现如下: 1. api请求客户端想服务器端一次发送用用户认证信息(用户名和密码),服务器端请求到改请求后,验证用户信息是否正确. 如果正确:则返回一个唯一不重复的字符串(一般为UUID),然后在 ...

  4. FreeRtos堆栈检测应用

    Free rtos每个任务都有自己的栈空间,每个任务需要的栈大小也是不同的.如果堆栈过小就会造成栈溢出,有时候栈溢出发生在某种特定顺序的任务切换中,比较难检测出.所以前期测试和监控任务栈用量就显得尤其 ...

  5. level-8

    CSS选择器常见的有几种? !important选择器——它是所有选择器里面权重最高的. *选择器——它是所有选择器里面权重最低的.可以为页面所有的标签添加统一样式,多用于页面整体样式调整,但它会增加 ...

  6. Shell编程之变量进阶

    一.变量知识进阶 1.特殊的位置参数变量 实例1:测试$n(n为1...15) [root@codis-178 ~]# cat p.sh echo $1 [root@codis-178 ~]# sh ...

  7. 谷歌浏览器安装jsonview插件方法

    参考https://www.cnblogs.com/whycxb/p/7126116.html,已安装成功.

  8. CSS3带小图标垂直下拉菜单

    在线演示 本地下载

  9. C++字符串操作库函数

    #include <bits/stdc++.h> using namespace std; int main() { ]="; ]="abcdefg"; ]= ...

  10. apache基于端口的虚拟主机配置

    主机ip: 192.168.7.51 Centos6.5 三个目录/usr/ftp/test/usr/ftp/dev/usr/ftp/demo 实现效果192.168.7.51:8052访问/usr/ ...