【问题标题】:Cassandra order by second clustering keyCassandra 按第二个聚类键排序
【发布时间】:2021-02-13 20:32:38
【问题描述】:

我在 cassandra 中有一张表,我想按第二个聚类列排序并保留第一个聚类列。就是表定义:

CREATE TABLE table1 (
key int,
value1 text,
value2 text,
value3 text,
comments text,
PRIMARY KEY (key, value1, value2, value3)
)WITH CLUSTERING ORDER BY (value2 DESC);

我知道上面的脚本是错误的,我应该在下面更改它:

CREATE TABLE table1 (
key int,
value1 text,
value2 text,
value3 text,
comments text,
PRIMARY KEY (key, value1, value2, value3)
)WITH CLUSTERING ORDER BY (value1 DESC, value2 DESC);

但我想按唯一的 value2(而不是 value1)对其进行排序。可能吗?有什么方法可以实现吗?

【问题讨论】:

    标签: database cassandra cql


    【解决方案1】:

    不可能开箱即用 - 数据在分区内按层次排序 - 首先它们按第一个聚类列排序,然后在“父列”的每个唯一值内排序,等等。像这样的东西(CL - 聚类列) :

    partition key:
      CL1 value 1:
        CL2 value 1
        CL2 value 2
      CL1 value 2
        CL2 value 1
        CL2 value 3
      ...
    

    【讨论】:

      猜你喜欢
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-01
      • 2012-07-22
      • 2017-05-24
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多