【问题标题】:Cassandra::AccessError: Invalid column family "users"Cassandra::AccessError:列族“用户”无效
【发布时间】:2014-08-14 11:49:58
【问题描述】:

client = Cassandra.new('keyspacetest', '127.0.0.1:9160')

2.1.0 :019 > client.insert('users', '0', { 'id' => 'John', 'email' => 'jsmith@test.com' }) Cassandra::AccessError:列族“用户”无效 从家/cassandra/columns.rb:59:in column_family_property' from home/cassandra/columns.rb:44:incolumn_name_class_for_key' 从家/cassandra/columns.rb:12:in column_name_class' from home/cassandra/helpers.rb:21:inextract_and_validate_params' 从家/cassandra/cassandra.rb:399:in insert' from (irb):19 from home/.rvm/rubies/ruby-2.1.0/bin/irb:11:in'

数据库:

cqlsh:keyspacetest> 从用户中选择 * ;

标识 |电子邮件 嗨 | 123@gmail.com cqlsh:keyspacetest> DESC TABLE 用户 ;

创建表用户 ( 标识文字, 电子邮件文本, 主键 ((id)) )

【问题讨论】:

    标签: ruby cassandra


    【解决方案1】:

    我怀疑您正在尝试使用“纯”Thrift API 将数据插入 CQL 表/列族。 那效果不好。如果您想使用 CQL,那么您必须使用允许您执行 CQL 语句的客户端库(例如https://github.com/iconara/cql-rb)。

    【讨论】:

    • 2.1.0 :001 > 需要 'cql' => true 2.1.0 :002 > client = Cql::Client.connect(hosts: '127.0.0.1:9160') NameError: 未初始化的常量Cql 客户端 CQL::Client.connect NameError: 未初始化的常量 CQL::Client from (irb):3
    猜你喜欢
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 2020-05-28
    • 2013-01-24
    • 1970-01-01
    • 2013-09-18
    • 2012-02-01
    • 1970-01-01
    相关资源
    最近更新 更多