2012-04-27 10 views
12

En la cassandra siguiente, "obtener resultado" ... podemos recuperar el nombre y los valores de la columna. Pero cómo recuperar los timestamp..Is Hay alguna mejor idea para obtener los valores de marca de tiempo mediante el uso de¿Cómo recuperar la marca de tiempo de cassandra?

[[email protected]]get user[bob];           
=> (column=name, value=bobdroid, timestamp=1335361733545850) 
=> (column=email, [email protected], timestamp=1335361733545850) 
=> (column=age, value=23, timestamp=1335361733545850) 
=> (column=password, value=MTIz, timestamp=1335361733545850) 
Returned 4 results. 
Elapsed time: 4 msec(s). 
+0

¿Desea recuperar usuarios por marca de tiempo? –

+0

@ Fredrik LS: No, en la interfaz de usuario, quiero mostrar el detalle de los usuarios con los valores de Marca de tiempo. – BobDroid

Respuesta

5

No se recomienda utilizar la columna Cassandra marcas de tiempo directamente en el código de cliente; idealmente, debería agregar sus propias marcas de tiempo en la forma que sea más apropiada para su esquema. Pero si realmente lo desea, puede hacerlo a través de la interfaz de ahorro (y, por extensión, ciertas bibliotecas que utilizan la interfaz de ahorro).

Para el caso de pycassa, solo necesita agregar include_timestamp=True a los argumentos para su llamada .get(). Para los casos de CQL, cqlsh y cassandra-cli, creo que no hay forma de obtener la marca de tiempo, lo siento.

+0

Sí. Twissandra (al menos, la versión actual) usa Pycassa, no CQL. Pero lo que es más importante, las marcas de tiempo que almacena y utiliza son simplemente columnas explícitas insertadas por la aplicación, y no las marcas de tiempo de la columna interna. En las familias de columnas Userline y Timeline, las marcas de tiempo de la aplicación constituyen los nombres de las columnas y los valores de las columnas son tweet_ids. –

+0

Ah, y en ese documento CQL al que hizo referencia, se trata de trabajar con el tipo de datos de marca de tiempo para los datos de la aplicación, no con las marcas de tiempo de la columna interna. Escribí esa sección en particular de ese documento, así que estoy bastante seguro :) –

+3

Actualización: este boleto fue * apenas * agregado, lo que propone hacer que las marcas de tiempo de columna y los TTL estén disponibles para CQL: https://issues.apache.org/ jira/browse/CASSANDRA-4217. Aún no está allí, sin embargo. –

33

Acabo de encontrar este hilo y encontré que la respuesta no está actualizada. CQL ahora expone las marcas de tiempo internas usando la función writetime():

select key,columnfoo,writetime(columnfoo) from tablebar; 
+1

¿Por qué no se puede ver las marcas de tiempo para las columnas indexadas? – ipeacocks

+2

cómo hacer que esta marca de tiempo sea legible por humanos –

Cuestiones relacionadas