Tag: cql

Cassandra cql比较器类型计数器

我想使用以下代码更新字段… @@db.execute(“UPDATE user_count SET counters = counters + #{val} WHERE cid = 1 “) 我第一次尝试,我得到以下失败: CassandraCQL :: Error :: InvalidRequestException:非交换columnfamily user_count的无效操作 我发现我必须使用比较器计数器,但我无法找到我如何使用cassandra-cql gem设置它…有谁知道我怎么能让它工作? 下面有我的代码不起作用…… @@db.execute(“CREATE COLUMNFAMILY user_count(cid varchar PRIMARY KEY, counters counter) with comparator = counter ” ) @@db.execute(“INSERT INTO user_count (cid, counters) VALUES (?,?)”, 1, 0)

无法使用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 任何人都可以请指出我在这里做错了什么..