Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cassandra中选择列为空的行_Cassandra - Fatal编程技术网

在Cassandra中选择列为空的行

在Cassandra中选择列为空的行,cassandra,Cassandra,我在Cassandra中有下表(CQL规范3.3.0):- 但此操作失败,出现错误=“message=”条件中的无效空值“ 这里的答案是:-澄清了语义 但仍然不清楚如何选择 你不是一排来的吗 这里有一个答案声称最新的cassandra支持null,但看起来它不适用于maps 有什么办法可以解决这个问题吗?或者我应该从所有行中选择所有列,并通过编程手动检查null,这对于大型数据库来说当然是非常低效的。Cassandra不支持基于null的查询,即使是对于二级索引也是如此 您可以将另一个名为“un

我在Cassandra中有下表(CQL规范3.3.0):-

但此操作失败,出现错误=
“message=”条件中的无效空值“

  • 这里的答案是:-澄清了语义 但仍然不清楚如何选择 你不是一排来的吗
  • 这里有一个答案声称最新的cassandra支持null,但看起来它不适用于maps

  • 有什么办法可以解决这个问题吗?或者我应该从所有行中选择所有列,并通过编程手动检查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;