2012-01-30 16 views
6

Estoy usando Random Partitioner (cassandra versión 0.7.8), quiero recuperar todas las claves en un CF. Intento usar get_range_slices para hacer esto, y parece que puedo obtener las claves con este método, aunque las claves no están ordenadas.Cassandra: cómo recuperar todas las claves en un CF (particionador aleatorio)

Y también hay una publicación que dice: "Esto está permitido con cualquier particionador en 0.6" (Fetching all keys using the Cassandra API -- analogy to "SELECT id FROM table;"), pero el documento de la API dice que es imposible (http://wiki.apache.org/cassandra/API#get_range_slices).

Mi pregunta es, ¿es correcto usar get_range_slices en Random Partitioner? ¿Hay algún documento oficial que confirme esto?

Respuesta

6

Sí, esto es posible. La documentación que citó trata de decir que si tiene las teclas de fila 1..10, y solicita un rango de 5..8, no obtendrá un conjunto de filas [5, 6, 7, 8].

Esta es la documentación para fetching all rows from a column family.

Básicamente se usa get_range_slices con una start_key de cadena vacía y sin end_key. Dependiendo de la cantidad de filas especificadas en el recuento, esto puede devolver menos que todas las filas en la familia de columnas. En ese caso, usa la última clave de la fila del conjunto de resultados anterior como la tecla de inicio para su próxima consulta.

+0

El enlace es anticuado y las preguntas más frecuentes que apunta no tiene realmente mencionar 'llaves'. ¿Lo estoy perdiendo? – dny238

Cuestiones relacionadas