Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase >> mail # user >> Retrieve Put timestamp


Copy link to this message
-
Retrieve Put timestamp
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
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB