2012-01-30 15 views
6

Tôi đang sử dụng Random Partitioner (cassandra phiên bản 0.7.8), tôi muốn lấy tất cả các khóa trong CF. Tôi cố gắng sử dụng get_range_slices để thực hiện việc này và có vẻ như tôi có thể lấy khóa bằng phương pháp này, mặc dù các phím không được đặt hàng.Cassandra - cách lấy tất cả các khóa trong một CF (Random Partitioner)

Và đó cũng là một bài viết nói rằng: "Điều này được cho phép với bất kỳ phân vùng trong 0,6" (Fetching all keys using the Cassandra API -- analogy to "SELECT id FROM table;"), nhưng tài liệu api nói rằng nó là không thể (http://wiki.apache.org/cassandra/API#get_range_slices).

Câu hỏi của tôi là, điều này có đúng không khi sử dụng get_range_slices trong Random Partitioner? Có tài liệu chính thức nào xác nhận điều này không?

Trả lời

6

Có điều này là có thể. Tài liệu bạn trích dẫn đang cố gắng nói rằng nếu bạn có các khóa hàng 1..10 và bạn yêu cầu một phạm vi 5..8, bạn sẽ không nhận được một tập hợp các hàng [5, 6, 7, 8].

Đây là tài liệu cho fetching all rows from a column family.

Về cơ bản, bạn sử dụng get_range_slices với start_key của chuỗi trống và không có end_key. Tùy thuộc vào số lượng hàng được chỉ định tính, số này có thể trả về ít hơn tất cả các hàng trong họ cột. Trong trường hợp đó, bạn sử dụng khóa hàng cuối cùng từ tập kết quả trước đó làm start_key cho truy vấn tiếp theo của bạn.

+0

Liên kết là lỗi thời và FAQ nó chỉ làm không thực sự đề cập đến 'chìa khóa'. Tôi có thiếu nó không? – dny238

Các vấn đề liên quan