5
我使用datastax python-driver从表中检索时间戳。我试图做的是将先前检索到的时间戳存储在一个var中,并在下一个查询中使用它来检索大于前一个时间戳的时间戳。该查询基本上是这样的:使用datastax python-driver从cassandra获取正确的时间戳
cqlsh> SELECT insert_time, message FROM cf WHERE message_key='q1' AND insert_time>'2013-10-30 10:32:44+0530' ORDER BY insert_time ASC LIMIT 1;
insert_time | message
--------------------------+----------------------------------
2013-10-30 10:32:45+0530 | 83500612412011e3ab6c1c3e84abd9db
正如你可以看到从CQL的时间戳2013-10-30 10:32:45+0530
。但是,当我通过Python驱动器检索的结果是不同的(我执行,而不是任何中国社会科学院节点的不同系统上的蟒蛇查询):
>>> from cassandra.cluster import Cluster
>>> c = Cluster([10.60.60.2])
>>> session = c.connect()
>>> q = "SELECT insert_time, message FROM cf WHERE message_key='q1' AND insert_time>'2013-10-30 10:32:44+0530' ORDER BY insert_time ASC LIMIT 1"
>>> rows = session.execute(q)
>>> print rows
[Row(insert_time=datetime.datetime(2013, 10, 30, 5, 2, 45, 4000), message=u'83500612412011e3ab6c1c3e84abd9db')]
>>> timestamp = rows[0][0]
>>> print t
2013-10-30 05:02:45.004000
正如你可以看到从蟒蛇时间戳驱动程序是2013-10-30 05:02:45.004000
,与CQL不同。不仅时间不同,而且代表性也发生了变化。这不能用于后续查询中的比较。
质询
- 我在做什么错,而在蟒蛇检索时间戳?
- 有没有办法输出纪元时间为int而不是日期时间格式?
- 这是关于时钟同步或时区相关的事吗?
- 任何人都可以帮助我这样做,使python检索时间戳可以重用与cass时间戳进行比较吗?
在此先感谢。感谢您的帮助
SETUP
- 单主机运行的虚拟机;
- cass sandbox- 3个无头虚拟机作为单个dc群集运行;
- 从主机执行的python代码;
- 虚拟机的日期,时间与主机使用NTP
- [4.0.0 cqlsh同步| Cassandra 2.0.0 | CQL规范3.1.0 | Thrift协议19.37.0]