这可能是非常愚蠢的......但是我无法使用新的元组类型创建一个表:
cqlsh:ta> CREATE TABLE tuple_test (k int PRIMARY KEY, v frozen <tuple<int, int>> );
Bad Request: line 1:68 no viable alternative at input '>'
cqlsh:ta>
我几乎从DataStax文档中复制了表创建语句......我缺少什么?
谢谢!
更新 - 基于BryceAtNetwork23和RossS的帮助:
是的,你是对的 - 我有DataStax Enterprise,它有Cassandra 2.0。
我已经使用Cassandra 2.1安装了DataStax社区,一切正常!
一个注意事项:跳过&#39;冷冻&#39;关键字不适用于DSC的Cassandra发行版 - 但冻结的内容确实有效。谢谢你的帮助!
[cqlsh 4.1.1 | Cassandra 2.1.2 | DSE | CQL spec 3.1.1 | Thrift protocol 19.39.0]
cqlsh> CREATE TABLE ta.tuple_test (k int, v tuple<int, int>,PRIMARY KEY(k) );
Bad Request: Non-frozen tuples are not supported, please use frozen<>
cqlsh> CREATE TABLE ta.tuple_test (k int, v frozen <tuple<int, int>>,PRIMARY KEY(k) );
cqlsh>
答案 0 :(得分:2)
怪异。我犯了同样的错误。我确实设法通过略微修改或两次修改它。然后我做了一个desc
只是为了确保它创建好了:
aploetz@cqlsh> CREATE TABLE stackoverflow.tuple_test (k int, v tuple<int, int>,PRIMARY KEY(k) );
aploetz@cqlsh> use stackoverflow ;
aploetz@cqlsh:stackoverflow> desc table tuple_test ;
CREATE TABLE stackoverflow.tuple_test (
k int PRIMARY KEY,
v frozen<tuple<int, int>>
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE'
最重要的是,我没有在frozen
中指定CREATE
,但是当您desc
表格时,您可以看到它知道将它放在那里。< / p>
编辑 - 这是我的cqlsh
规范:
[cqlsh 5.0.1 | Cassandra 2.1.0-rc5-SNAPSHOT | CQL spec 3.2.0 | Native protocol v3]
嗯......基于此,我不知道你实际上是在Cassandra 2.1上。而且我很确定Tuple类型是2.1及更高版本的功能。仔细检查您的Cassandra版本一次。此外,如果您使用的是DSE(这意味着您有支持),我会打开一张机票,说明您所看到的错误。Cassandra 2.0.11.83
编辑 - 仅供参考,我已将2.1.0-rc5版本升级到2.1.2,并运行原始CREATE
,它按原样运行:
Connected to PermanentWaves at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.2 | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
aploetz@cqlsh> use stackoverflow ;
aploetz@cqlsh:stackoverflow> CREATE TABLE tuple_test (k int PRIMARY KEY, v frozen <tuple<int, int>> );
aploetz@cqlsh:stackoverflow> desc table tuple_test ;
CREATE TABLE stackoverflow.tuple_test (
k int PRIMARY KEY,
v frozen<tuple<int, int>>
)...