Does anyone know how to generate TimeBased UUIDs in Java/Scala?
Here is the column family:
CREATE table col(ts timeuuid)
I'm using Cassandra 1.2.4
Appreciate your help!
If you are using the Datastax drivers you can use the utility class, UUIDs, to generate one
import com.datastax.driver.core.utils.UUIDs;
....
UUID timeBasedUuid = UUIDs.timeBased();
Cassandra has UUIDGen for generating Timeuuids. The source for this is here:
https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/utils/UUIDGen.java
i am using the same way for cassandra cli, and for column name i am using
System.currentTimeMillis().toString
scala> val timestamp = System.currentTimeMillis().toString
timestamp: String = 1406279679674
UPDATE
mainly it depends on your row key if rowKey is your userId
or something, then there is no chance of submission of duplicate record in miliseconds but if you think it can be repeat then use
val timestamp = com.eaio.uuid.UUIDGen.newTime().toString
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With