在 Cassandra 中如何通过多个过滤器选择行?

Posted

技术标签:

【中文标题】在 Cassandra 中如何通过多个过滤器选择行?【英文标题】:In Cassandra how to select rows by multiple filters? 【发布时间】:2014-10-28 15:15:10 【问题描述】:

我有一张如下表: CREATE TABLE 测试 (a int; b int; c int; d int; PRIMARY KEY () );

我想选择0 应该如何设置PRIMARY KEY以及如何运行CQL查询?

谢谢!

【问题讨论】:

【参考方案1】:

不允许在分区键上使用范围运算符 (),除非您使用 ByteOrderedPartitioner,它有几个与性能相关的缺点。

否则,使用默认的 Murmur3Partitioner,您有两个选择。第一个解决方案:

create table test (
    a int,
    b int,
    c int,
    d int,
    primary key ((a,b))
);

那么对于 1..10 中的 X

select * from test where a = X and b in (1,2,3,4,5,6,7,8,9,10)

第二种解决方案:

create table test (
    a int,
    b int,
    c int,
    d int,
    primary key (a,b)
);

然后

select * from test where a in (1,2,3,4,5,6,7,8,9,10) and b >=1 and b <= 10 ;

【讨论】:

感谢您的建议,但是,如果我想选择 0

以上是关于在 Cassandra 中如何通过多个过滤器选择行?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spark 中过滤来自 Cassandra 的空数据?

通过多个标签过滤或选择熊猫中两行之间的数据

Apache Spark 如何在内存中工作?

多个反应过滤器和更新选择输入的问题 - 奇怪的行为

PrimeReact DataTable:如何(视觉)取消选择行

布隆过滤器在 cassandra 中的作用是啥?