2016-08-04 7 views
2

Ich verwende Spark Cassandra Connector in Java, um Daten einzufügen. Meine Daten haben ein timeuuid und timestamp Feld. Ich habe die folgende Tabelle:Wie Sie TimeUUID und TimeStamp mit Spark Cassandra Connector einfügen?

CREATE TABLE abc.log (
time_uuid timeuuid, 
session_id text, 
event text, 
time timestamp, 
sequence int, 
PRIMARY KEY (customer) 
); 

ich diesen Code verwenden einzufügen:

JavaRDD<EventLog> rdd = sc.parallelize(eventLogs); 
    javaFunctions(rdd) 
    .writerBuilder("dove", "event_log", mapToRow(EventLog.class)) 
    .saveToCassandra(); 

wie füge ich die timeuuid und timestamp Felder? Mit normalem Einsatz würde ich einfach die now() Funktion verwenden, wie mache ich das hier?

Antwort

2

Sie können hierfür com.datastax.driver.core.utils.UUIDs verwenden. Die UUIDsTest nutzt die Klasse wie folgt ein TimeUUID zu erstellen:

UUID uuid = UUIDs.timeBased(); 

Beachten Sie, dass UUID ist java.util.UUID. Beachten Sie, dass Sie die Zeitstempel der UUID abrufen müssen, indem Sie UUIDs.unixTimestamp(uuid); aufrufen, wenn Sie es für Ihren Anwendungsfall benötigen.

Wie bei Ihrem Zeitstempel übergeben Sie eine Instanz von java.util.Date, wie auf der docs vorgeschlagen.

Verwandte Themen