如何在cassandra中使用CQL3创建计数器列家族?
我以前用过: CREATE COLUMNFAMILY userstats(username varchar PRIMARY KEY,images counter)WITH default_validation = counter AND comment ='User Stats';
现在,当我在CQL3中运行时,我得到: 错误请求:default_validation不是CREATE COLUMNFAMILY
的有效关键字参数答案 0 :(得分:3)
CQL3不再支持“动态列名”模型。它仍然可以制作任意宽的cassandra行,但它们看起来像CQL中的“普通”窄表,所有列都被命名和定义。这就是CQL3不再支持设置default_validation
或comparator
等
在进行CQL3中的任何重要操作之前,您应该阅读并理解http://www.datastax.com/dev/blog/schema-in-cassandra-1-1。
但问题的答案是,它就像离开default_validation
一样简单:
CREATE TABLE userstats (
username varchar PRIMARY KEY,
images counter
) WITH comment='User Stats';
虽然不清楚你是否打算在那里每行使用多个计数器,因为你想要一个default_validation
。如果您这样做了,并且您的comparator
将是varchar
,那么您可以这样做:
CREATE TABLE userstats (
username varchar,
countername varchar,
value counter,
PRIMARY KEY (username, countername)
) WITH comment='User Stats';
..让images
成为其中一个反手。