Sorry, I should have been more clear; I was speaking to the question of how to 
avoid modifying the thrift interface. 

- Jason

On Jun 27, 2011, at 7:58 PM, Joseph Stein <crypt...@gmail.com> wrote:

> 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 <crypt...@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 <jfa...@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 <crypt...@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>
> */

Reply via email to