在CQL中为Cassandra DB分组不起作用

时间:2017-06-17 10:40:20

标签: cassandra

我在Cassandra密钥空间中有这个表:

create table hashtags(
id uuid,
text text,
frequence int,
primary key ((text), frequence, id))
with clustering order by (frequence desc, id asc);

所以我将text作为分区键,frequence, id作为群集键。 根据{{​​3}}关于GROUP BY操作的支持,我应该可以运行这种查询:

select text, sum(frequence) from hashtags 
group by text;

但我一直收到这个错误:

  

com.datastax.driver.core.exceptions.SyntaxError:第2行:0在输入'group'处没有可行的替代方法(... text,sum(频率)来自[hashtags]组...)

有什么我从指南中误解了吗?如何正确运行此查询? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

它适用于Apache Cassandra 3.10。我试过cqlsh。

cqlsh:test> select * from hashtags ;

 text  | frequence | id
-------+-----------+--------------------------------------
 hello |         5 | 07ef8ee4-6492-4112-babb-fc3ac2893701
 hello |         4 | 3f6f3b1d-4a33-4a07-ad60-2274a9dc5577
 hello |         1 | 4adf7e2a-f3b9-41eb-85cf-f4c4bdc5d322
    hi |         7 | 71718f46-455e-4012-a306-f31f1cb2454a

(4 rows)
cqlsh:test> select text, sum(frequence) from hashtags group by text;

 text  | system.sum(frequence)
-------+-----------------------
 hello |                    10
    hi |                     7

(2 rows)

Warnings :
Aggregation query used without partition key