Ich erhalte Zeitstempel aus einer Tabelle mit dem datastax Python-Treiber. Was ich versuche, ist, den zuvor abgerufenen Zeitstempel in einer Variablen zu speichern und ihn in der nächsten Abfrage zu verwenden, um einen Zeitstempel zu erhalten, der größer als der vorherige ist. Die Abfrage sieht grundsätzlich wie folgt:Ich bekomme den richtigen Zeitstempel von Cassandra mit dem Datenastax Python-Treiber
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
Wie Sie die Zeitstempel von CQL2013-10-30 10:32:45+0530
ist zu sehen. Aber wenn ich es über Python-Treiber abzurufen sind die Ergebnisse unterschiedlich (ich die Ausführung der Python-Abfrage auf einem anderen System und nicht auf einem der Cass Knoten):
>>> 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
Wie Sie die Zeitstempel von Python sehen -driver ist 2013-10-30 05:02:45.004000
, die sich von der CQL-Version unterscheidet. Nicht nur die Zeit ist anders, sondern auch die Darstellung hat sich geändert. Dies kann nicht für den Vergleich in nachfolgenden Abfragen verwendet werden.
FRAGEN
- Was mache ich falsch, während Zeitstempel in Python abrufen?
- Gibt es eine Möglichkeit, Epochzeit als Int anstelle des Datetime-Formats auszugeben?
- Hat das etwas mit Uhrsynchronisation oder Zeitzonenbezug zu tun?
- Kann mir jemand dabei helfen, so dass die Python abgerufenen Zeitstempel wiederverwendet werden können, um gegen CASS Zeitstempel zu vergleichen?
Vielen Dank im Voraus. Schätzen Sie Ihre Hilfe
SETUP
- einzigen Host-Computer ausgeführt vms;
- cass sandbox- 3 kopflose vms, die als einzelner dc-Cluster ausgeführt werden;
- Python-Code wird vom Host-Rechner ausgeführt;
- VMs Datum, Uhrzeit synchronisiert mit Host mit ntp
- [cqlsh 4.0.0 | Kassandra 2.0.0 | CQL-Spezifikation 3.1.0 | Thrift Protokoll 19.37.0]