incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tyler Hobbs <ty...@datastax.com>
Subject Re: timezone time series data model
Date Mon, 30 Apr 2012 17:59:38 GMT
Err, sorry, I should have said ts - (ts % 86400).  Integer division does
something similar.

On Mon, Apr 30, 2012 at 12:39 PM, samal <samalgorai@gmail.com> wrote:

> thanks I didn't noticed.
> run script for 5  minutes => divide seems to produce result ,modulo is
> still changing. If divide is ok will do the trick.
> I will run this script on Singapore, East coast server, and New delhi
> server whole night today.
>
> ======================
> unix              =>   1335806983422
> unix /1000        =>   1335806983.422
> Divid i/86400     =>   15460.728969907408
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62983
> ======================
> ======================
> unix              =>   1335806985421
> unix /1000        =>   1335806985.421
> Divid i/86400     =>   15460.728993055556
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62985
> ======================
> ======================
> unix              =>   1335806987422
> unix /1000        =>   1335806987.422
> Divid i/86400     =>   15460.729016203704
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62987
> ======================
> ======================
> unix              =>   1335806989422
> unix /1000        =>   1335806989.422
> Divid i/86400     =>   15460.729039351852
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62989
> ======================
> ======================
> unix              =>   1335806991421
> unix /1000        =>   1335806991.421
> Divid i/86400     =>   15460.7290625
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62991
> ======================
> ======================
> unix              =>   1335806993422
> unix /1000        =>   1335806993.422
> Divid i/86400     =>   15460.729085648149
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62993
> ======================
> ======================
> unix              =>   1335806995422
> unix /1000        =>   1335806995.422
> Divid i/86400     =>   15460.729108796297
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62995
> ======================
> ======================
> unix              =>   1335806997421
> unix /1000        =>   1335806997.421
> Divid i/86400     =>   15460.729131944445
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62997
> ======================
> ======================
> unix              =>   1335806999422
> unix /1000        =>   1335806999.422
> Divid i/86400     =>   15460.729155092593
> Divid i/86400 INT =>   15460
> Modulo i%86400    =>   62999
> ======================
>
>
> On Mon, Apr 30, 2012 at 10:44 PM, Tyler Hobbs <tyler@datastax.com> wrote:
>
>> getTime() returns the number of milliseconds since the epoch, not the
>> number of seconds: http://www.w3schools.com/jsref/jsref_gettime.asp
>>
>> If you divide that number by 1000, it should work.
>>
>>
>> On Mon, Apr 30, 2012 at 11:28 AM, samal <samalgorai@gmail.com> wrote:
>>
>>> I did it with node.js but it is changing after some interval.
>>>
>>> <code>
>>> setInterval(function(){
>>>   var d =new Date().getTime();
>>>   console.log("====================== ");
>>>   console.log("unix         =>  ",d);
>>>   i=parseInt(d)
>>>   console.log("Divid i/86400=>  ",i/86400);
>>>   console.log("Modulo i%86400=> ",i%86400);
>>>   console.log("====================== ");
>>> },2000);
>>>
>>> </code>
>>> Am I doing wrong?
>>>
>>>
>>> On Mon, Apr 30, 2012 at 9:54 PM, Tyler Hobbs <tyler@datastax.com> wrote:
>>>
>>>> Correct, that's exactly what I'm saying.
>>>>
>>>>
>>>> On Mon, Apr 30, 2012 at 10:37 AM, samal <samalgorai@gmail.com> wrote:
>>>>
>>>>> thanks tyler for reply.
>>>>>
>>>>> are you saying  user1uuid_*{ts%86400}* would lead to unique day
>>>>> bucket which will be timezone {NZ to US} independent? I will try.
>>>>>
>>>>>
>>>>> On Mon, Apr 30, 2012 at 8:25 PM, Tyler Hobbs <tyler@datastax.com>wrote:
>>>>>
>>>>>> Don't use dates or datestamps as the buckets for your row keys, use
a
>>>>>> unix timestamp modulo whatever size you want your bucket to be instead.
>>>>>> Timestamps don't involve time zones or any of that nonsense.
>>>>>>
>>>>>> So, instead of having keys like "user1uuid_30042012", the second
half
>>>>>> would be replaced the current unix timestamp mod 86400 (the number
of
>>>>>> seconds in a day).
>>>>>>
>>>>>>
>>>>>> On Mon, Apr 30, 2012 at 1:46 AM, samal <samalgorai@gmail.com>
wrote:
>>>>>>
>>>>>>> Hello List,
>>>>>>>
>>>>>>> I need suggestion/ recommendation on time series data.
>>>>>>>
>>>>>>> I have requirement where users belongs to different timezone
and
>>>>>>> they can subscribe to global group.
>>>>>>> When users at specific timezone send update to group it is available
>>>>>>> to every user in different timezone.
>>>>>>>
>>>>>>> I am using GroupSubscribedUsers CF where all update to group
are
>>>>>>> push to "Each User" time line, and key is timelined by useruuid_date(one
>>>>>>> day update of all groups) and columns are group updates.
>>>>>>>
>>>>>>> GroupSubscribedUsers ={
>>>>>>>     user1uuid_30042012:{//this user belongs to same timezone
>>>>>>>          timeuuid1:JSON[group1update1]
>>>>>>>          timeuuid2:JSON[group2update2]
>>>>>>>          timeuuid3:JSON[group1update2]
>>>>>>>         timeuuid4:JSON[group4update1]
>>>>>>>    },
>>>>>>>   user2uuid_30042012:{//this user belongs to different timezonewhere
date has changed already  to 1may but  30 april is getting update
>>>>>>>          timeuuid1:JSON[group1update1]
>>>>>>>          timeuuid2:JSON[group2update2]
>>>>>>>          timeuuid3:JSON[group1update2]
>>>>>>>         timeuuid4:JSON[group4update1]
>>>>>>>         timeuuid5:JSON[groupNupdate1]
>>>>>>>    },
>>>>>>>
>>>>>>> }
>>>>>>>
>>>>>>> I have noticed  this approach is good for single time zone when
>>>>>>> different timezone come into picture it breaks.
>>>>>>>
>>>>>>> I am thinking of like when user pushed update to group ->get
user
>>>>>>> who is subscribed to group->check user timezone->push time
series in user
>>>>>>> time zone. So for one user update will be on 30april where as
other may
>>>>>>> have on 29april and 1may, using timestamps i can find out hours
ago update
>>>>>>> came.
>>>>>>>
>>>>>>> Is there any better approach?
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> >>>Samal
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Tyler Hobbs
>>>>>> DataStax <http://datastax.com/>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Tyler Hobbs
>>>> DataStax <http://datastax.com/>
>>>>
>>>>
>>>
>>
>>
>> --
>> Tyler Hobbs
>> DataStax <http://datastax.com/>
>>
>>
>


-- 
Tyler Hobbs
DataStax <http://datastax.com/>

Mime
View raw message