无法使用Cassandra计数器柱与cassandragem

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

create table mystats (key PRIMARY KEY, count counter); 

现在从cqlsh我可以增加计数器列,但当我尝试从cassandra gem执行此操作时,如下所述: 是否有任何带有计数器和超级列的Cassandra的Ruby客户端?

所以当我使用时:

 @stats.add(:mystats, 'randomkey', 1, 'count') 

我收到一个错误:

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

当我进一步研究它时,我发现错误是从gem中引发的:在文件中: https : //github.com/twitter/cassandra/blob/master/lib/cassandra/columns.rb

 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 

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

该客户端尚未更新以支持CQL3。 我不知道一个支持CQL3的Ruby客户端,所以最好的办法是创建一个与Thrift兼容的表(TLDR为你的表定义添加WITH COMPACT STORAGE )。