在Cassandra中,有没有一种方法可以按数据类型而不是字符串进行聚类排序?

在Cassandra中,有没有一种方法可以按数据类型而不是字符串进行聚类排序?,cassandra,cql3,Cassandra,Cql3,我使用以下CQL在cqlsh中的CQL3中创建了一个表: CREATE TABLE test ( locationid int, pulseid int, name text, PRIMARY KEY(locationid, pulseid) ) WITH CLUSTERING ORDER BY (locationid ASC, pulseid DESC); 请注意,locationid是一个整数 然而,在插入数据并运行select之后,我注意到locationid的升

我使用以下CQL在cqlsh中的CQL3中创建了一个表:

CREATE TABLE test (
    locationid int,
    pulseid int,
    name text, PRIMARY KEY(locationid, pulseid)
) WITH CLUSTERING ORDER BY (locationid ASC, pulseid DESC);
请注意,locationid是一个整数

然而,在插入数据并运行select之后,我注意到locationid的升序排序似乎基于字符串,而不是整数

cqlsh:citypulse> select * from test;
 locationid | pulseid | name
------------+---------+------
          0 |       3 | test
          0 |       2 | test
          0 |       1 | test
          0 |       0 | test
         10 |       3 | test
          5 |       3 | test
请注意0 10 5。有没有办法让它通过实际的数据类型进行排序

谢谢,
Allison在Cassandra中,主键的第一部分是“分区键”。该密钥用于在集群中分发数据。它以随机的方式来实现均匀分布。这意味着您不能按主键的第一部分进行订购


你在看什么版本的卡桑德拉?在最新版本的1.2(1.2.2)中,您在示例中使用的create语句无效。

您完全正确。我还意识到,初始键上的排序对我来说并不是那么重要——也正是出于这个目的,这也是为什么Cassandra如此快速有效的原因之一。非常感谢。