我使用cqlsh通过以下命令创建了一个列族:
create table mystats (key PRIMARY KEY, count counter);
现在从cqlsh开始,我可以增加counter列,但是当我尝试从cassandragem执行此操作时,正如在中所建议的:是否有针对cassandra的带有counters和supercolumn的ruby客户机?
所以当我使用:
@stats.add(:mystats, 'randomkey', 1, 'count')
我得到一个错误:
cassandra::accesserror at/client无效列族“mystats”
当我进一步研究它时,我发现错误来自gem:in文件: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
有谁能指出我可能做错了什么吗。。
1条答案
按热度按时间iklwldmw1#
该客户端尚未更新以支持cql3。我不知道有cql3意识的ruby客户机,所以最好的办法可能是创建一个与thrift兼容的表(tldradd)
WITH COMPACT STORAGE
表定义)。