在 cassandra 中输入“>”没有可行的替代方案

Posted

技术标签:

【中文标题】在 cassandra 中输入“>”没有可行的替代方案【英文标题】:No viable alternative at input '>' in cassandra 【发布时间】:2015-06-21 11:47:01 【问题描述】:

对于我收到no viable alternative at input '>' 错误的每个命令,这些命令 cos 有什么问题

CREATE TABLE collect_things (
           ...   k int PRIMARY KEY,
           ...   v <tuple<int,text,float>>
           ... );

CREATE TABLE collect_things (
           ...   k int PRIMARY KEY,
           ...   v tuple<float, float, text>
           ... );


CREATE TABLE tuple_test (
           ... the_key int PRIMARY KEY,
           ... the_tuple frozen<tuple<int, text, float>>)
           ... ;

规格: [cqlsh 4.1.1 | Cassandra 2.0.8 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

【问题讨论】:

升级cassandra版本解决了 【参考方案1】:

你可以从http://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_table_r.html看到更多

为了支持未来的功能,用户定义或元组类型的列定义需要使用 frozen 关键字。 Cassandra 将具有多个组件的冻结值序列化为单个值。有关示例和用法信息,请参阅“使用用户定义的类型”、“元组类型”和集合类型。

注意:Cassandra 2.1.0 到 2.1.2 需要对元组使用冻结:

frozen <tuple <int, tuple<text, double>>>

Cassandra 2.1.3+ 不需要这个关键字。

【讨论】:

以上是关于在 cassandra 中输入“>”没有可行的替代方案的主要内容,如果未能解决你的问题,请参考以下文章

使用 now() 时在 cassandra 中插入查询失败

Cassandra中的双范围查询

如何在 Column 中插入没有空值的 Cassandra

Amazon Athena:输入没有可行的替代方案

ParseExpection:输入时没有可行的替代方案

单节点上的 Cassandra 和 Analytics