加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nosql – Cassandra CQL3从具有复合主键的表中选择行键

发布时间:2020-12-13 13:29:28 所属栏目:百科 来源:网络整理
导读:我正在使用Cassandra 1.2.7和使用CQL3的官方 Java驱动程序. 假设由一个表创建 CREATE TABLE foo ( row int,column int,txt text,PRIMARY KEY (row,column)); 然后我想预先形成SELECT DISTINCT行FROM foo的等价物 至于我的理解,应该可以在Cassandra的数据模型
我正在使用Cassandra 1.2.7和使用CQL3的官方 Java驱动程序.

假设由一个表创建

CREATE TABLE foo ( 
    row int,column int,txt text,PRIMARY KEY (row,column)
);

然后我想预先形成SELECT DISTINCT行FROM foo的等价物

至于我的理解,应该可以在Cassandra的数据模型中有效地执行这个查询(给定复合主键的实现方式),因为它只是查询’raw’表.

我搜索了CQL文档但我没有找到任何选项来做到这一点.

我的备份计划是创建一个单独的表 – 类似于

CREATE TABLE foo_rows (
    row int,PRIMARY KEY (row)
);

但这需要让两者保持同步的麻烦 – 写入foo_rows用于foo中的任何写入(也是性能损失).

那么有没有办法查询不同的行(分区)键?

解决方法

根据 documentation,从CQL 3.11版开始,cassandra理解DISTINCT修饰符.
所以你现在可以写了

SELECT DISTINCT row FROM foo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读