检查cassandra中的子集

Posted

技术标签:

【中文标题】检查cassandra中的子集【英文标题】:Checking subsets in cassandra 【发布时间】:2014-12-13 11:01:35 【问题描述】:
   -----------------------------
   |ID|        Team      
   -----------------------------
   |1 |       'b' 
   |2 |       'c'       
   |3 |       'b','c' 
   ------------------

我在 cassandra 中有这张桌子。我想删除表中的所有子集。由于'b''b','c' 的子集,而'c''b','c' 的子集,因此应删除第 1 行和第 2 行。

   -----------------------------
   |ID|        Team      
   -----------------------------

   |3 |       'b','c' 
   ------------------

如何在 CQL 中执行此操作。

【问题讨论】:

【参考方案1】:

表:

CREATE TABLE sample (
    id int PRIMARY KEY,
    team list<text>
) ;

CREATE INDEX del_team_idx ON keyspace1.sample (team);

SELECT * FROM del ;

 id | team
----+------------
  1 |      ['b']
  2 | ['c', 'd']
  3 | ['b', 'e']

输出

 SELECT * FROM sample WHERE team CONTAINS 'e' and team contains 'b' allow filtering;

 id | team
----+------------
  3 | ['b', 'e']

【讨论】:

以上是关于检查cassandra中的子集的主要内容,如果未能解决你的问题,请参考以下文章

如何检查java中cassandra表中是否存在列?

Cassandra 选择和条件中的转义字符

如何检查 cassandra 与 pentaho 数据集成器的连接

如何检查 Cassandra 表的文本字段的长度

Cassandra 如何读取数据/写模式如果影响读取

Cassandra 更新过程澄清