Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase, mail # user - Retrieve Put timestamp


Copy link to this message
-
Retrieve Put timestamp
Pablo Musa 2012-07-30, 22:13
Hey guys,
in my application the HBase timestamp is used as version in my logic.
I would like to know what is the best way to insert a new record and get its timestamp.

I have come up with two possibilities:

/* I could force timestamp, but it is not a good idea since different servers
 * write into HBase which could lead to crazy behavior */
new Put(row, timestamp);

/* Or I could write into HBase and read it back. But I don't know how much overhead
 * this option causes.*/
@Override
public void put(Put put) throws IOException {
    byte[] row = put.getRow();
    hTableInterface.put(put);
    KeyValue kv = hTableInterface.get(new Get(row)).getColumnLatest(family, qualifier);
    long version = kv.getTimestamp();
}

Is there any better way to do it?

Thanks,
Pablo