在Cassandra中,有没有一种方法可以按数据类型而不是字符串进行聚类排序?
我使用以下CQL在cqlsh中的CQL3中创建了一个表:在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的升
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如此快速有效的原因之一。非常感谢。