Можно ли запросить значение (или набор значений) с помощью cassandra, даже если мы заранее не знаем ключ (или диапазон ключей)? - PullRequest
2 голосов
/ 21 ноября 2011

Я собираюсь выразить идею в SQL:

SELECT key,value
FROM table1
WHERE value > 10

Или нам всегда нужно знать ключ?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

Полагаю, вы можете использовать вторичные индексы, которые доступны начиная с версии 0.7 casssandra.Вы также можете получить следующий ответ: Cassandra и Secondary-Indexes, как они работают внутри?которые не имеют много разных значений (например, столбцы типа «статус» или «приоритет», которые обычно имеют лишь несколько разных значений, таких как «высокий», «средний», «низкий»).

Если вы используете Hector в качестве клиента cassandra, вы можете найти здесь информацию о том, как их использовать: https://github.com/rantav/hector/wiki/User-Guide

1 голос
/ 21 ноября 2011

Да, конечно, например, вы можете использовать *

select * from CF where value = 10

Если вы используете Hector API (например, CqlQuery), вы можете получить список строк обратно из этого запроса.

Обратите внимание, что в настоящее время для вторичных индексов у вас должно быть хотя бы одно условное равенство, поэтому ваш запрос с значением> 10 не будет работать. См этот вопрос

...