我在Java中使用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();
如何插入timeuuid
和timestamp
字段?使用普通插入我只会使用now()
函数,我该怎么做?
答案 0 :(得分:2)
您可以使用com.datastax.driver.core.utils.UUIDs。 UUIDsTest使用这样的类来创建TimeUUID:
UUID uuid = UUIDs.timeBased();
请注意,UUID
为java.util.UUID
。请注意,如果您的用例需要它,但在此之后,您可以通过调用UUIDs.unixTimestamp(uuid);
来检索UUID的时间戳。
对于您的时间戳,您按照docs的建议传递java.util.Date
的实例。