2014-11-03 77 views
0

我想用Cassandra创建一个用户定义的类型。我使用cqlsh和文档(http://www.datastax.com/documentation/cql/3.1/cql/cql_reference/cqlRefcreateType.html)提供的示例:用Cassandra创建一个用户定义的类型

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语法来使其工作?

非常感谢

+1

NEW FEATURES?用户类型是2.1和更高版本的一部分 – 2014-11-03 19:06:21

+0

好的我正在使用2.0.11,我的不好... – Spearfisher 2014-11-03 19:09:02

回答

0

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

可以卡桑德拉哪个版本您使用的是找到它卡桑德拉

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> 
      ...); 
+0

情况并非如此。他/她使用2.0.x,不支持用户类型; – 2014-11-03 22:31:18

+0

是的,pb是不是密钥空间的版本 – Spearfisher 2014-11-03 22:53:58

相关问题