incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Stein <crypt...@gmail.com>
Subject Re: CounterColumn as a double
Date Mon, 27 Jun 2011 23:58:08 GMT
hmmm, well Jason it is not as accurate as I would have thought at first and
the increments on the long are whacked (which now that I think about it more
makes sense since a +1 of the bits as long for the double would not
necessarly represent the +1 on the double).

So I am setting the increment to be

1.23

which comes back as 1.3213044541238036E308

and then another increment of 1.23 comes back as 10.359999999999987

so for the increment (which is just +value to the long which would not
provide the right shift)

even if under the hood I keep the thrift interface as long somehow the 1.23
vs 1.321 is a big difference when you have billions of them

so I think it goes back to my original idea/proposition.   Any one have
issue?  any +1 ?  should I create a JIRA and get to it?

On Mon, Jun 27, 2011 at 7:39 PM, Joseph Stein <cryptcom@gmail.com> wrote:

> I will give that a shot, seems that it will work fantastically, thanks!
>
> I will keep trolling JIRA then for something I feel I can get my feet wet
> with and contribute then.
>
> On Mon, Jun 27, 2011 at 7:33 PM, Jason Fager <jfager@gmail.com> wrote:
>
>> Longs and Doubles are both 64-bit values and are pretty easily
>> convertible.  Check out Double.doubleToLongBits and
>> Double.longBitsToDouble in the JDK; you can also read more about the
>> details of the conversion and get some pointers to some code in a post
>> I wrote last year:
>> http://jasonfager.com/770-lexi-sortable-number-strings/  (the emphasis
>> is on using doubles in key strings, but it should cover what you
>> need).
>>
>>
>>
>>
>>
>> On Mon, Jun 27, 2011 at 7:13 PM, Joseph Stein <cryptcom@gmail.com> wrote:
>> > So has anyone considered using the CounterColumn for summing?
>> >
>> > I wanted to-do this over the weekend until I realized it was only a long
>> :(
>> > so using it for things like duration (as an example for me this would
>> have
>> > been great to keep track of aggregate durations of ad impressions) are
>> not
>> > possible (or total costs when processing business workflows, etc,etc).
>> >
>> > I thought this might be a little more the speed of a first contribution
>> too
>> > :) and also helps out with more functionality since a lot of real time
>> > analytics will need double.
>> >
>> > Let me know, I think it is a good feature.
>> >
>> > Implementing it not sure we would want to break the thrift interface I
>> would
>> > suggest that I would create another interface for the double value?
>> >
>> > Under the hood of the thrift interface I was thinking of creating a
>> > CounterValue class and then setting the lValue or the dValue depending
>> on
>> > which thrift function was called. I can update the thrift, add a sister
>> > function and re-work the entire code path of long CounterColumn.value
>> into
>> > CounterValue CounterColumn.value.
>> >
>> > /*
>> > Joe Stein
>> > http://www.linkedin.com/in/charmalloc
>> > Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
>> > */
>> >
>>
>
>
>
> --
>
> /*
> Joe Stein
> http://www.linkedin.com/in/charmalloc
> Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
> */
>



-- 

/*
Joe Stein
http://www.linkedin.com/in/charmalloc
Twitter: @allthingshadoop <http://www.twitter.com/allthingshadoop>
*/

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message