如何从cassandra中检索时间戳?

Bob*_*oid 12 cql command-line-interface cassandra pycassa

在下面的cassandra中,"获取结果"..我们可以检索列名和值.但是如何检索时间戳..是否有更好的想法通过使用时间戳来获取值

[default@sample]get user[bob];                                        
=> (column=name, value=bobdroid, timestamp=1335361733545850)
=> (column=email, value=bob@gmail.com, timestamp=1335361733545850)
=> (column=age, value=23, timestamp=1335361733545850)
=> (column=password, value=MTIz, timestamp=1335361733545850)
Returned 4 results.
Elapsed time: 4 msec(s).
Run Code Online (Sandbox Code Playgroud)

小智 34

刚遇到这个帖子,发现答案已经过时了.CQL现在使用以下writetime()函数公开内部时间戳:

select key,columnfoo,writetime(columnfoo) from tablebar;
Run Code Online (Sandbox Code Playgroud)

  • 如何将此时间戳设置为人类可读形式 (3认同)

the*_*aul 5

建议不要直接在客户端代码中使用列Cassandra时间戳; 理想情况下,您应该以最适合您的架构的任何形式添加自己的时间戳.但是如果你真的想要,可以通过thrift接口(以及扩展名,使用thrift接口的某些库)来完成.

对于pycassa案例,您只需要include_timestamp=True为您的.get()调用添加参数.对于CQL,cqlsh和cassandra-cli的情况,我相信没有办法得到时间戳,抱歉.

  • 更新:这张票几乎没有添加*,建议为CQL提供列时间戳和TTL:https://issues.apache.org/jira/browse/CASSANDRA-4217.不过还没有. (3认同)