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

How to list all unique components of a composite partition key - Cassandra

给定一个 table 和一个复合分区键,例如:

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(或其他替代方法)?

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