【发布时间】:2023-03-31 05:20:02
【问题描述】:
我有没有办法使用自定义比较器函数对 cassandra 中的聚类键进行排序。
我的表定义如下:
CREATE TABLE temp (user_id text, data_id int, data text, PRIMARY KEY(user_id, data_id));
这里,data_id 将用作聚类列。我想知道是否可以定义一个自定义比较器来指示写入磁盘时data_id 的顺序。
提前感谢您的帮助:)。
【问题讨论】:
-
在此覆盖stackoverflow.com/questions/21427716/…,看起来这期间并没有改变。是否有一些特定的用例可以做到这一点?您的访问模式是什么?
-
在我的用例中,data_id 本身并没有通过简单地应用 asc 或 desc 函数来定义任何合理的顺序。 data_id 是包含多个片段的复合 id。排序需要考虑 data_id 中的一些编码信息。此外,data_id 在一个列族中的排序函数可能与在另一个列族中的排序函数不同。
-
通常如果此数据以某种方式是复合的,则应在应用程序级别对其进行拆分,然后将其发送到应保存的 cassandra。在一个字段中保存多个值是旧 cassandra varsions 的模式。一切都与访问模式有关,因此您必须在访问数据时准备好数据。
标签: cassandra datastax comparator cqlsh clustering-key