cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject How can I get rows in groups?
Date Fri, 19 Nov 2010 14:33:18 GMT

I would like one of the cluster's nodes to use get_range_slices() to
retrieve the values of a specific column for the entire keyspace. I
obviously don't want to do it for the whole keyspace at once, so I'd like
to do it in groups of n, which should be configurable.

I get the first n values using a KeyRange with the current node's local
token as start_token and end_token, which equals the whole keyspace.

After that, it makes sense to have a loop, and to use each time a new
KeyRange with the largest key returned by the previous iteration as the
start_key. However, I don't know what to use as end_key, and Cassandra
complains that if one of (start_key, end_key) is not null, the other can't
be either. What can I do?

Can I use tokens? I read that a KeyRange with tokens is end-inclusive, and
can wrap, so I can just give the local node's token as the end_token all
the time, so when the traversing reaches that node again, it will know the
whole keyspace was traversed. Or are tokens different semantically?

I am using Cassandra 0.7.0 beta1, and the OrderPreservingPartitioner.

Alexander Altanis

View raw message