2016-08-04 72 views
2

我在Java中使用Spark Cassandra連接器來插入數據。我的數據有timeuuidtimestamp字段。我有以下表格:如何使用Spark Cassandra連接器插入TimeUUID和TimeStamp?

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

我使用這個代碼中插入:

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

我怎麼插入timeuuidtimestamp領域?使用普通插入我會使用now()函數,我該如何做到這一點?

回答

2

您可以使用com.datastax.driver.core.utils.UUIDs。 的UUIDsTest利用這樣的類來創建一個TimeUUID:

UUID uuid = UUIDs.timeBased(); 

注意UUIDjava.util.UUID。請注意,如果您需要用於您的用例,那麼可以通過調用UUIDs.unixTimestamp(uuid);來檢索UUID的時間戳。

至於你的時間戳,你通過java.util.Date的實例,如docs的建議。