2012-01-30 12 views
6

Używam Random Partitioner (Kasandra w wersji 0.7.8), chcę odzyskać wszystkie klucze w CF. W tym celu próbuję użyć get_range_slices i wygląda na to, że mogę uzyskać klucze tą metodą, chociaż klucze nie są zamawiane.Cassandra - jak odzyskać wszystkie klucze w CF (Random Partitioner)

Istnieje również wiadomość z napisem: "Jest to dozwolone w przypadku dowolnego partycjonera w 0,6" (Fetching all keys using the Cassandra API -- analogy to "SELECT id FROM table;"), ale dokument api mówi, że jest to niemożliwe (http://wiki.apache.org/cassandra/API#get_range_slices).

Moje pytanie brzmi, czy to jest poprawne użycie get_range_slices w Random Partitioner? Czy jest jakiś oficjalny dokument potwierdzający to?

Odpowiedz

6

Tak, jest to możliwe. Dokumentacja, którą cytujesz, próbuje powiedzieć, że jeśli masz klucze rzędu 1..10 i prosisz o zakres 5..8, nie otrzymasz zestawu wierszy [5, 6, 7, 8].

To jest dokumentacja dla fetching all rows from a column family.

Zasadniczo używasz get_range_slices z pustym łańcuchem startowym i bez parametru end_key. W zależności od liczby wierszy określonej w liczbie, może ona zwrócić mniej niż wszystkie wiersze z rodziny kolumn. W takim przypadku użyjesz klawisza ostatniego rzędu z poprzedniego zestawu wyników jako klawisza startowego dla następnego zapytania.

+0

Link jest przestarzała i FAQ wskazuje czy naprawdę nie wspominając o „kluczy”. Czy ja tęsknię? – dny238

Powiązane problemy