2016-08-04 69 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的建议。

相关问题