Ruby 无法将cassandra计数器列与cassandra gem一起使用

Ruby 无法将cassandra计数器列与cassandra gem一起使用,ruby,cassandra,cql,Ruby,Cassandra,Cql,我使用cqlsh通过以下命令创建了一个柱族: create table mystats (key PRIMARY KEY, count counter); 现在,从cqlsh我可以增加计数器列,但当我尝试从cassandra gem增加计数器列时,如以下建议: 因此,当我使用: @stats.add(:mystats, 'randomkey', 1, 'count') 我得到一个错误: Cassandra::AccessError位于/客户端无效列族“mystats” 当我进一步研究它时,

我使用cqlsh通过以下命令创建了一个柱族:

create table mystats (key PRIMARY KEY, count counter);
现在,从cqlsh我可以增加计数器列,但当我尝试从cassandra gem增加计数器列时,如以下建议:

因此,当我使用:

@stats.add(:mystats, 'randomkey', 1, 'count')
我得到一个错误:

Cassandra::AccessError位于/客户端无效列族“mystats”

当我进一步研究它时,我发现错误是由gem引起的: 存档:


任何人都可以指出我在这里可能做错了什么。

该客户端尚未更新以支持CQL3。我不知道有一个支持CQL3的Ruby客户端,所以您最好的选择可能是创建一个与Thrift兼容的表(TLDR将带有压缩存储的
添加到您的表定义中)。

该客户端尚未更新以支持CQL3。我不知道是否有支持CQL3的Ruby客户端,因此最好的办法可能是创建一个与节俭兼容的表(TLDR将压缩存储添加到表定义中)。

在创建表时添加压缩存储解决了这个问题。我昨晚在卡桑德拉irc找到了解决方案。。感谢您回答了这个问题。刚刚启动了rails与CQL3的集成,以及在创建表的同时管理cassandra schemaadding和compact storage的迁移,解决了这个问题。我昨晚在卡桑德拉irc找到了解决方案。。感谢您回答这个问题。我们刚刚启动了rails与CQL3的集成,并进行了迁移以管理cassandra模式
def column_family_property(column_family, key)
      cfdef = schema.cf_defs.find {|cfdef| cfdef.name == column_family }
      unless cfdef
        raise AccessError, "Invalid column family \"#{column_family}\""
      end
      cfdef.send(key)
    end