卡桑德拉:“包含关键”操作?

时间:2013-03-28 18:09:58

标签: cassandra

有一些Cassandra操作来验证列族是否包含密钥?我们不需要任何行数据,只需要密钥存在。

最好的问候

2 个答案:

答案 0 :(得分:2)

如果您正在使用Java,则为rowKey创建SliceQuery,并将begin / end值设置为等于您要查找的特定列键。如果存在具有特定键的列,则以下表达式将为真:

sliceQuery.execute().get().getColumns().size() > 0

答案 1 :(得分:1)

这样做的一种快捷方法是询问行的列数,如果行存在则为正。由于墓碑的存在,“不存在”周围有一个灰色区域。您可以删除一行的所有列,但要求该行的数据可能会导致一组空列而不是null(这很大程度上取决于您使用的是哪个驱动程序)。您应该将没有列的行视为不存在,因此询问列数可能是确定行是否存在的最佳方法。

Cassandra FAQ under "range ghosts"中有关于此的更多信息。