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

Doug Meil commented on HBASE-7221:
----------------------------------

Thanks Ian!

re:  "why are we "blessing" int, long & MD5 hash?"

For this I have to refer to my prevent comment on HBase making anything 
possible but not much "easy" in terms of rowkey construction.  I think between 
those datatypes it represents the commonly used key-element datatypes.  And it 
makes it easy (i.e., will do the encoding/decoding for you).

But you can always use setBytes if you want to do something custom (and 
getBytes for that position too).

re:  "Anyway, what you have seems straightforward enough that adding it might 
point some people in the right direction, without getting too fancy."

Yep, that was the intent.  You can always drop down to doing it 100% yourself, 
but this handles a lot of cases.
                
> RowKey utility class for rowkey construction
> --------------------------------------------
>
>                 Key: HBASE-7221
>                 URL: https://issues.apache.org/jira/browse/HBASE-7221
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Doug Meil
>            Assignee: Doug Meil
>            Priority: Minor
>         Attachments: HBASE_7221.patch, hbase-common_hbase_7221_2.patch, 
> hbase-common_hbase_7221_v3.patch
>
>
> A common question in the dist-lists is how to construct rowkeys, particularly 
> composite keys.  Put/Get/Scan specifies byte[] as the rowkey, but it's up to 
> you to sensibly populate that byte-array, and that's where things tend to go 
> off the rails.
> The intent of this RowKey utility class isn't meant to add functionality into 
> Put/Get/Scan, but rather make it simpler for folks to construct said arrays.  
> Example:
> {code}
>    RowKey key = RowKey.create(RowKey.SIZEOF_MD5_HASH + RowKey.SIZEOF_LONG);
>    key.addHash(a);
>    key.add(b);
>    byte bytes[] = key.getBytes();
> {code} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to