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