zoukankan      html  css  js  c++  java
  • Cassandra Demo--Python操作cassandra

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

    创建keyspace和table

    CREATE KEYSPACE exps  
    WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'DC1' : 2 };
    
    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))
  • 相关阅读:
    单位根反演
    安卓第十三天笔记-服务(Service)
    安卓第十二天笔记-广播
    安卓第十一天笔记-Intent与inter-filter配置
    安卓第十天笔记-fragment
    安卓第九天笔记-Activity
    安卓第八天笔记--网络编程二
    安卓第七天笔记--网络编程一
    安卓第六天笔记--ListView
    安卓第五天笔记-对话框
  • 原文地址:https://www.cnblogs.com/gaogao67/p/10428498.html
Copyright © 2011-2022 走看看