hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1937) Add convenience method to Result for obtaining the timestamp of a column
Date Mon, 26 Oct 2009 16:16:59 GMT

    [ https://issues.apache.org/jira/browse/HBASE-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770075#action_12770075
] 

Jonathan Gray commented on HBASE-1937:
--------------------------------------

Right now there are two primary ways to get data out of a Result.  You either grab the KVs
and iterate them directly, or you use one of the NavigableMaps.

The problem with the Maps are that they end up only containing a portion of the data for each
endpoint (for example, after getting to the value as Doug describes, we can't determine the
timestamp).

Maybe we could add a few methods like Result.getKeyValues(...) that returned a subset of the
total KVs, but would make more sense to someone and be easier to deal with in clients.

For example:

{noformat}
// Return all keys in the specified family
KeyValue [] kvs = result.getKeyValues(family);

// Return all versions of the specified column
KeyValue [] kvs = result.getKeyValues(family, qualifier);

// Iterate versions of the column
for(KeyValue kv  : kvs) {
  byte [] value = kv.getValue();
  long stamp = kv.getTimestamp();
}
{noformat}


> Add convenience method to Result for obtaining the timestamp of a column
> ------------------------------------------------------------------------
>
>                 Key: HBASE-1937
>                 URL: https://issues.apache.org/jira/browse/HBASE-1937
>             Project: Hadoop HBase
>          Issue Type: Improvement
>          Components: client
>    Affects Versions: 0.20.1
>            Reporter: Jonathan Gray
>            Priority: Minor
>             Fix For: 0.21.0
>
>
> From Doug Meil on list:
> {quote}
> I'd like to suggest a convenience method on Result for getting the timestamp of a value
if it hasn't already been suggested before.
> Getting the value is easy from a Result instance...
>       byte b[] = r.getValue( Bytes.toBytes("family"), Bytes.toBytes("qualifier") );
> ... but getting the timestamp from KeyValue is a little tedious...
>       KeyValue kv[] = r.raw();
>       for (int j = 0; j < kv.length; j++) {
>             String col = Bytes.toString( kv[j].getColumn() ) );
>             // make sure you get the timestamp from the right column, etc etc.
>             long ll = kv[j].getTimestamp();
> (etc...)
> Is it reasonable to have something like...
>       long = r.getTimestamp( family, qualifier );
> {quote}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message