使用Cassandra创建用户定义的类型

时间:2014-11-03 18:14:16

标签: cassandra cql cql3 cqlsh

我正在尝试使用Cassandra创建用户定义的类型。我正在使用cqlsh以及文档(http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/cqlRefcreateType.html)中提供的示例:

REATE TYPE address (
  street text,
  city text,
  zip_code int,
  phones set<text>
)

但是这会回来:

Bad Request: line 1:7 no viable alternative at input 'TYPE'

使用help命令,我找到了'CREATE_TABLE_TYPES',但我无法使其工作。

使用此方法的correcft语法是什么?

非常感谢

2 个答案:

答案 0 :(得分:1)

看起来你需要先创建一个密钥空间:

cqlsh> CREATE KEYSPACE excelsior
   ...   WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
cqlsh> use excelsior;
cqlsh:excelsior> CREATE TYPE address (
             ...   street text,
             ...   city text,
             ...   zip_code int,
             ...   phones set<text>
             ... );

答案 1 :(得分:0)

我也遇到了同样的问题。早期版本的2.1不支持用户类型。 现在我正在使用2.1.2cassandra

你可以找到Cassandra的NEW FEATURES