在Cassandra中选择列为空的行
我在Cassandra中有下表(CQL规范3.3.0):- 但此操作失败,出现错误=在Cassandra中选择列为空的行,cassandra,Cassandra,我在Cassandra中有下表(CQL规范3.3.0):- 但此操作失败,出现错误=“message=”条件中的无效空值“ 这里的答案是:-澄清了语义 但仍然不清楚如何选择 你不是一排来的吗 这里有一个答案声称最新的cassandra支持null,但看起来它不适用于maps 有什么办法可以解决这个问题吗?或者我应该从所有行中选择所有列,并通过编程手动检查null,这对于大型数据库来说当然是非常低效的。Cassandra不支持基于null的查询,即使是对于二级索引也是如此 您可以将另一个名为“un
“message=”条件中的无效空值“
有什么办法可以解决这个问题吗?或者我应该从所有行中选择所有列,并通过编程手动检查null,这对于大型数据库来说当然是非常低效的。Cassandra不支持基于null的查询,即使是对于二级索引也是如此 您可以将另一个名为“uninitialized”的字段作为布尔值添加到表中,在首次插入行时将其设置为true,然后在“uninitialized”字段上创建二级索引
当您将映射设置为某个值时,您会将“uninitialized”设置为false。然后要查找映射为null的行,您需要查询“uninitialized”的行“是真的。我代码中的一个bug在表中输入了null,现在我想删除这些行,没有办法处理吗?”?这样的行只占数据的2%,那么我认为您在读取所有行并在客户端查找空值时遇到了麻烦。卡桑德拉将无法查询它们。要减少数据量,只需选择要检查的列,而不是所有字段。谢谢您的帮助。我想只有肮脏的方法来处理这件事。
Users: <a,b,c,d>, Primary key a Int, B: Map<Int,Date>
select from Users where b = null;