使用inet,多个主键和集合创建失败的表。语法是正确的。
主键(不匹配的parens)的错误消息没有意义。删除它,我了解到inet在某些情况下不起作用。
我做错了什么,或者不了解使用CQL3(接口或语法)?
CREATE TABLE session (
'user_id' bigint,
'admin_id' bigint,
'session_id' varchar,
'cache' text ,
'created' timestamp ,
'hits' list<timestamp>,
'ip' inet ,
PRIMARY KEY ( 'session_id' , 'user_id' )
);
以下内容也失败
CREATE TABLE 'session' (
'user_id' bigint,
'session_id' varchar,
PRIMARY KEY ( 'session_id' , 'user_id' )
);
这有效
CREATE TABLE 'session' (
'user_id' bigint,
'session_id' varchar PRIMARY KEY
);
线索
>help TYPES
CQL types recognized by this version of cqlsh:
ascii
bigint
blob
boolean
counter
decimal
double
float
int
text
timestamp
uuid
varchar
varint
DSE 3.0.x
[编辑] - 证明DSE安装了Cassandra 1.1.x.
答案 0 :(得分:-1)
TL; DR:DSE 3.0.x中尚未提供的集合(CQL3的一部分)
另外值得注意,但与我的问题无关:
即使在Datastax社区版中 - 也需要激活CQL3。文档说它应该在cqlsh
中默认激活http://www.datastax.com/docs/1.2/cql_cli/using_cql
“激活CQL 3 您可以通过以下方式之一激活CQL模式:
那里的文件也不正确,应该是
con = cql.connect('localhost', cql_version='3.0.0')
此外,Enterprise Opcenter尚不支持DSE中的CQL 3。
cqlsh --cqlversion=3