Erste richtige timestamp von cassandra mit datastax python-Treiber

Bin ich abrufen Zeitstempel aus einer Tabelle mithilfe der datastax python-Treiber. Was ich versuche zu tun ist, speichern Sie die zuvor abgerufenen Zeitstempel in eine var und verwenden Sie es in der nächsten Abfrage einen Zeitstempel, der größer als der vorhergehende. Die Abfrage im Grunde sieht wie folgt aus:

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 sehen können die timestamp von CQL ist 2013-10-30 10:32:45+0530. Aber wenn ich es abrufen über python-Treiber, die Ergebnisse sind unterschiedlich( ich bin der Ausführung des python-Abfrage auf einem anderen system und nicht auf einem der Cassandra-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 sehen können die timestamp von python-Treiber ist 2013-10-30 05:02:45.004000, die sich von der CQL ein. Nicht nur die Zeit ist anders, aber die Darstellung hat sich geändert. Dies kann nicht verwendet werden für den Vergleich in späteren Abfragen.

FRAGEN

  1. Was mache ich falsch beim abrufen Zeitstempel in python ?
  2. Gibt es eine Möglichkeit die Ausgabe Epoche Zeit als int statt dem datetime-format ?
  3. Ist dies etwas zu tun mit der Uhr synchronisiert oder Zeitzone bezogen ?
  4. Kann mir jemand helfen mit dieser, so dass die python abgerufen Zeitstempel kann wiederverwendet werden, um zu vergleichen, gegen cass Zeitstempel ?

Vielen Dank im Voraus. Dankbar für Ihre Hilfe

SETUP

  • einzigen host-Rechner unter vms;
  • cass sandbox - 3 headless vms laufen als single-dc-cluster;
  • python-code, der ausgeführt wird von der host-Maschine;
  • VMs Datum,Zeit, synchronisiert mit dem host über ntp -
  • [cqlsh 4.0.0 | Cassandra 2.0.0 | CQL-spec 3.1.0 | Secondhand-Protokoll 19.37.0]
Schreibe einen Kommentar