【问题标题】:Define custom comparator for Cassandra's clustering column为 Cassandra 的聚类列定义自定义比较器
【发布时间】: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


【解决方案1】:

据我所知,cassandra 目前不支持此功能。

请参考上面发布的 cmets 以了解正确的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2011-05-10
    • 2016-10-20
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多