Thanks St.Ack and Tom. Yes I too kinda came up with a similar scheme -- To store the rank as part of the key. Where it broke down for me was for say, k-dimensional data where ranks are stored for dimension A but the query requires sorting by dimension b.
For now I have to settle with predetermined dimensions on which to sort. Whereas my ideal requirement is to pick top-N of all points in an arbitrary hyper plane in a k - dimensional space.
i Sent from my iPad with iMstakes
On Aug 30, 2012, at 23:14, "Tom Brown" <[EMAIL PROTECTED]> wrote:
> We do numerical sorting within some of our tables. We put the numerical
> values as fixed length byte arrays within the keys (and flipped the sign
> bit so negative values are lexigraphically lower than positive values)
> Of course, it's still part of the key so that technique doesn't work for
> everyone, but it does allow us to do some limited sorting.
> On Thursday, August 30, 2012, Stack wrote:
>>> I probably know the usual answer but are there any tricks to do some
>> sort of sort by value in HBase. The only option I know is to somehow embed
>> value in the key part. The value is not a timestamp but a normal number.
>>> I want to find out, say, top 10 from a range of columns. The range could
>> be millions of columns. The range is dynamic for the most part.
>>> Any pointers?
>> HBase sorts by rows and then within a row by column family, column
>> qualifier, type, then timestamp. You cannot have it natively sort
>> values for you, not unless you make the values be rows and/or columns
>> in another, separate table.