2017-01-31 28 views
0

有没有办法让我使用自定义比较函数对cassandra中的聚类键进行排序。为Cassandra的聚类列定义自定义比较器

我的表定义是类似以下内容:

CREATE TABLE temp (user_id text, data_id int, data text, PRIMARY KEY(user_id, data_id)); 

这里,data_id将用作集群列。我想知道是否可以定义一个自定义比较器来指定写入磁盘时的顺序data_id

感谢您的帮助提前:)。

+0

在这里覆盖http://stackoverflow.com/questions/21427716/use-of-order-by-clause-in-cassandra,看起来像这样没有改变在此期间。有没有一些具体的用例来做到这一点?你的访问模式是什么? –

+0

在我的用例中,data_id本身并没有通过简单地将asc或desc函数应用于它来定义任何合理的顺序。 data_id是一个包含多个部分的合成ID。排序需要考虑data_id中的一些编码信息。而且,一个列族中的data_id的排序功能可能不同于另一个列族中的排序功能。 – user1855193

+1

通常,如果这些数据是以某种方式合成的,则应该在应用程序级别进行拆分,然后发送给cassandra,因为它应该被保存。在一个字段中保存多个值是使用较旧的cassandra varsions的模式。这都是关于访问模式的,所以你必须准备好你要访问的数据。 –

回答

0

目前cassandra并不支持这一点,以我所知。

请参考上面发表的评论来了解什么是正确的方法。