================================================================

创建keyspace和table

CREATE KEYSPACE exps
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : }; create table exps_user(user_id int primary key,user_name varchar,user_info text); create index idx_user_name on exps_user(user_name);

注意在创建keyspace时,数据中心的名称需要区分大小写,如果数据中心名称写错,创建keyspace和table能成功,但INSERT数据时会报错。

在cqlsh上报NoHostAvailable错误,如果使用python访问,会报下面错误:

Error from server: code=1000 [Unavailable exception] message="Cannot achieve consistency level LOCAL_ONE" info={'consistency': 'LOCAL_ONE', 'required_replicas': 1, 'alive_replicas': 0}

================================================================

需要安装python依赖包cassandra-driver:

from cassandra.cluster import Cluster
from cassandra.policies import DCAwareRoundRobinPolicy
from cassandra import ConsistencyLevel cluster_instances = ['192.168.199.171', '192.168.199.172', '192.168.199.173']
cluster = Cluster(
cluster_instances,
load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='DC1'),
port=9042
) session = cluster.connect("exps")
for user_id in range(1, 50000):
try:
sql_script = ("insert into exps_user(user_id,user_name,user_info)"
"VALUES({0},'U{0}','THIS IS TEST');").format(user_id)
user_lookup_stmt = session.prepare(sql_script)
user_lookup_stmt.consistency_level = ConsistencyLevel.LOCAL_ONE
user1 = session.execute(user_lookup_stmt, [])
except Exception as ex:
print(str(ex))

Cassandra Demo--Python操作cassandra的更多相关文章

  1. JAVA操作cassandra数据库

    如果是maven项目,在pom.xml里加入依赖.不是的话下载相应的jar包放到lib目录下.这里驱动包的版本要和你cassandra的大版本一致.我这里cassandra的版本是最新的3.9,驱动是 ...

  2. Python操作MySQL-day11

    写在前面 上课第11天,打卡: 包子有肉,不在褶上: 前言 存储和数据库是整个网站架构的瓶颈 关系型数据库(MySQL | Oracle) 类似于excel表格 用结构化查询语言SQL进行存取的 非关 ...

  3. redis缓存数据库及Python操作redis

    缓存数据库介绍  NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...

  4. Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  5. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

  6. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  7. Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  8. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  9. Python操作memcached及redis

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  10. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

随机推荐

  1. (C/C++学习笔记) 一. 基础知识

    一. 基础知识 ● 程序和C/C++ 程序: 根据Wirth (1976), Algorithms + Data Structures = Programs. Whence C: 1972, Denn ...

  2. SQL-18 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by

    题目描述 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准使用order byCREATE ...

  3. a recipe kindly provided by Dimas for kikuchi

    https://sianipar17.com/2017/12/14/tutorial-for-teleseismic-body-wave-inversion-program/

  4. 从Oracle数据库中的本地命名文件tnsnames.ora来看服务别名、服务名和实例名的区别。

    tnsnames.ora的作用这里就不多述了,各位应该都知道. 首先先看两个例子: test1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCO ...

  5. 在线播放Video/PDF/JPG

    Label1.Text = Play(url, , ); public string Play(string url, int width, int height) { string strTmp = ...

  6. SQL注入之Sqli-labs系列第七篇(基于root权限读写注入)

    开始挑战第一关(Error Based- String) 开始之前,先介绍这关需要用到的几个函数,如下图 继续访问我们的地址,输入' “ 一些测试语句发现都没有反应 查看源码,是采用了单引号和双括号 ...

  7. quartz储存方式之JDBC JobStoreTX

    这篇单单记录一下个人配置使用quartz的JDBC JobStoreTX的过程以及其中遇到的问题,这里的quartz是version2.2.1,数据库使用的MySQL. JDBCJobStore储存是 ...

  8. Spring Boot 揭秘与实战(五) 服务器篇 - Tomcat 代码配置

    Spring Boot 内嵌的 Tomcat 服务器默认运行在 8080 端口.如果,我们需要修改Tomcat的端口,我们可以在 src/main/resources/application.prop ...

  9. GCC栈溢出保护

    逆向过elf程序都知道,GCC的canary,x86_64下从fs:0x28偏移处获取,32位下从gs:0x14偏移处获取.但知道canary如何产生,为什么在这里取的人比较少. 下面以x86_64平 ...

  10. MongDB篇,第四章:数据库知识4

    MongDB 数据库知识4 GridFS 大文件存储 文件的数据库存储 1,在数据库中以   字符串的方式  存储文件在本地的路径: 优点: 节省数据库空间 缺点: 当数据库或者文件位置发生变化时则无 ...