我有一个名为testTable的Cassandra表:
create table testTable(
col1 text primary key,
col2 text
);
插入一些数据后,我希望得到col2
不为空的所有行。如:
select * from testTable where col2 <> null;
从CQL参考和其他谷歌搜索结果来看,没有好的答案,我不知道是否有人告诉我该怎么做才能完成这项任务?
答案 0 :(得分:1)
有关Cassandra无法解决这一问题的详细说明,请参阅此文章。 http://www.aaronstechcenter.com/null-query-cassandra.php
基本上,由于col2不是主键的一部分,因此您无法通过此列进行过滤。 Cassandra用作分布式哈希表,您可以在其中指定密钥并获取关联数据。这样,群集列中也不支持空值。
要实现您的目标,您可以过滤生成的数据集,以检查客户端中的col2是否为null或使用Spark之类的东西,但这在Cassandra中不是一件有效的事情。