如何列出复合分区键的所有唯一组件 - Cassandra

时间:2016-01-25 10:54:16

标签: cassandra cql

给定一个包含复合分区键的表,如:

CREATE TABLE testtable (
column1 text,
column2 text,
column3 text,
column4 text,
column5 text,
column6 text,
PRIMARY KEY ((column1, column2, column3, column4))
)

我怎样才能获得只有一个分区列的所有唯一值?现在,我知道这不起作用:

SELECT DISTINCT column2 from testtable;

然而,我可以做到

SELECT DISTINCT column1, column2, column3, column4 from testtable;

那么,有没有办法(在CQL中,因为该查询的结果可能非常大)来查询查询结果,就像在SQL中一样?像这样:

SELECT DISTINCT column2 FROM (SELECT DISTINCT column1, column2, column3, column4 from testtable);

哪个不起作用。或者我真的必须使用Python(或其他替代方案)吗?

1 个答案:

答案 0 :(得分:2)

简单地说,在CQL中无法实现这一点。整个分区键定义了哪个Cassandra节点负责处理数据,并对其进行查询。因此,它总是必须全部给出。