获取cassandra中布尔字段为空的所有行

aij0ehis  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(329)

我修改了一个表,在cassandra中添加了一个布尔类型的新列(比如x)。现在我想要x为null的所有行。从mytable中选择*其中x为null,类似于。。我在许多vlog中读到cassandra不支持null类型。
所以,请告诉我是否有其他方法来检索行。

wpcxdonn

wpcxdonn1#

通常情况下 SELECT * FROM TABLE WHERE col = something 通常对Cassandra来说是一个非常糟糕的查询,直到 col 至少是分区密钥。由于cassandra是分布式系统,它需要从所有节点获取数据并返回。当您在cassandra集群中有相对大量的数据时,这个查询很可能只是超时。
您仍然可以执行类似的查询,但会更复杂。您可以:
将spark与spark cassandra接头一起使用(请参阅中的文档 doc 文件夹);
通过将查询拆分为多个,覆盖各个令牌范围,对所有节点上的数据执行有效扫描,这样您就可以并行处理各个节点上的数据,而不会使协调节点过载。我有一个java代码的例子,你可以用它作为基础,但是spark更容易实现。
p、 我建议你从Cassandra的基本知识开始,了解它是如何工作的——如果你明白你能做什么不能做什么,你的生活会更轻松。你可以从税务学院的ds201课程开始。

相关问题