如何使用Spark Cassandra连接器插入TimeUUID和TimeStamp?

时间:2016-08-04 08:16:15

标签: java apache-spark cassandra

我在Java中使用Spark Cassandra连接器来插入数据。我的数据有timeuuidtimestamp字段。我有下表:

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()函数,我该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用com.datastax.driver.core.utils.UUIDsUUIDsTest使用这样的类来创建TimeUUID:

 UUID uuid = UUIDs.timeBased();

请注意,UUIDjava.util.UUID。请注意,如果您的用例需要它,但在此之后,您可以通过调用UUIDs.unixTimestamp(uuid);来检索UUID的时间戳。

对于您的时间戳,您按照docs的建议传递java.util.Date的实例。