2012-01-30 20 views
6

Random Partitioner (cassandra sürüm 0.7.8) kullanıyorum, CF'de tüm anahtarları almak istiyorum. Bunu yapmak için get_range_slices kullanmayı deneyin ve anahtarlar sipariş edilmemesine rağmen, bu yöntemle anahtarları alabilir gibi görünüyor.Cassandra - CF (Rasgele Bölümleyici) içindeki tüm anahtarları nasıl alırsınız

Ayrıca bir yazı da var: "Bu, 0.6'da herhangi bir bölümleyici ile izin verilir" (Fetching all keys using the Cassandra API -- analogy to "SELECT id FROM table;"), ancak api belgesi imkansız olduğunu belirtir (http://wiki.apache.org/cassandra/API#get_range_slices).

Soruma göre get_range_slicesRandom Partitioner kullanmak doğru mu? Bunu onaylayan resmi bir belge var mı?

cevap

6

Evet, bu mümkün. Aldığınız belgeler, 1..10 numaralı satır anahtarlarınız varsa ve 5.,8'lik bir dizi için bir dizi satır alamayacağınızı söylemeye çalışmaktadır [5, 6, 7, 8].

Bu, fetching all rows from a column family belgelerine yöneliktir.

Temel olarak, get_range_slices öğesini boş bir dize start_key ve end_key ile kullanmazsınız. Sayımda belirtilen satır sayısına bağlı olarak, bu sütun ailesindeki tüm satırlardan daha az olabilir. Bu durumda, bir sonraki sorgunuz için önceki sonuç kümesinden start_key olarak son satır anahtarını kullanırsınız. https://github.com/zznate/cassandra-tutorial/blob/master/src/main/java/com/datastax/tutorial/KeyIteratorExample.java

+0

bağlantı eskidir ve işaret SSS gerçekten 'tuşlarını' söz etmez mi: İşte – dny238

2

(birden fazla konu ile) Hector istemcisi ile Java bunu yapmanın bir örnektir. Onu özlüyorum mu?