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

Switch to Plain View
HBase >> mail # user >> Reverse timestamp


+
Mark 2011-08-20, 01:39
+
lars hofhansl 2011-08-20, 05:26
+
Sonal Goyal 2011-08-20, 09:51
+
Mark 2011-08-20, 13:29
+
steve.boyle@...) 2011-08-20, 14:10
+
Mark 2011-08-20, 14:56
Copy link to this message
-
Re: Reverse timestamp
That's right if you're using *unsigned* integers. If your integers are
signed (can be negative), then keep the leftmost bit (the highest
significant bit) zero.

Mohamed

On Sat, Aug 20, 2011 at 10:56 AM, Mark <[EMAIL PROTECTED]> wrote:

> Thanks all but I'm actually using ruby as my client so there is no
> Long.MAX_VALUE.
>
> Apparently there is an alternative method...
>
> "These composite row keys are similar to what RDBMSs offer, yet you can
> control the sort order for each field separately. You could do, for example,
> *a bitwise inversion of the date expressed as a long value (the Linux
> epoch)*. This would then sort the rows descending by date"
>
> I just want to be clear on the above statement. A bitwise inversion is
> simply flipping the bits correct? So if the current time represented as bits
> is
>
> 100111001001111110010101100111**0
>
> Then the bitwise inversion is
>
> 011000110110000001101010000011**0
>
> Is this correct?
>
>
>
> On 8/20/11 7:10 AM, [EMAIL PROTECTED] wrote:
>
>> I use this bit from the link sent by Sonal:
>> reverse_order_stamp is an 8 byte, big endian long with a value of
>> (Long.MAX_VALUE - epoch).  This is so the most recent stamp is at the top
>> rather than the bottom.
>>
>> I use (Long.MAX_VALUE - System.getCurrentTimeMillis())**.
>>
>> -Steve
>>
>> -----Original Message-----
>> From: Mark [mailto:static.void.dev@gmail.**com<[EMAIL PROTECTED]>
>> ]
>> Sent: Saturday, August 20, 2011 6:29 AM
>> To: [EMAIL PROTECTED]
>> Subject: Re: Reverse timestamp
>>
>> Thanks but I was more referring to reverse ordered timestamps for
>> composite keys to be used for sorting purposes.
>>
>> On 8/19/11 10:26 PM, lars hofhansl wrote:
>>
>>> HBase maps (row-key, column family name, column, timestamp) to a value.
>>>
>>> The KeyValues are also sorted by the same attributes in reverse timestamp
>>> order.
>>>
>>> The default timestamp is the current time, but you can set any long value
>>> (which does not need correlate in any way to the time domain)
>>> as the time stamp and hence define your own ordering within multiple
>>> version of the same row key.
>>>
>>> See Put: Put(byte[] row, long ts).
>>>
>>> Is that what you meant?
>>>
>>> -- Lars
>>>
>>>
>>>
>>> ______________________________**__
>>> From: Mark<[EMAIL PROTECTED]**>
>>> To: [EMAIL PROTECTED]
>>> Sent: Friday, August 19, 2011 6:39 PM
>>> Subject: Reverse timestamp
>>>
>>> I understand the need but I don't understand how to generate a reverse
>>> timestamp. Can someone please explain how this is accomplished and how I can
>>> test that its working correctly?
>>>
>>> Thanks
>>>
>>
+
Mark 2011-08-20, 15:55
+
steve.boyle@...) 2011-08-20, 15:26
+
lars hofhansl 2011-08-20, 16:54