Thank you Christopher I will build my "workaround" on this.

-Stefan

On Wed, Jul 15, 2015 at 8:49 PM, Christopher Matta <cma...@mapr.com> wrote:

> I did this last week with a query on the Drill profiles, this query will
> break down the number of queries in 5 minute increments:
>
> select x.`timestamp`, x.`user`, count(1) from (
>     select
>     t.`user`,
>     to_timestamp(((cast(t.`start` as bigint)/1000) -
> MOD((cast(t.`start` as bigint)/1000), 300))) as `timestamp`
>     from maprfs.profiles.`profiles` t
>     WHERE to_timestamp(cast(t.`start` as bigint)/1000) >
> DATE_SUB(NOW(), interval '1' month)
> ) x
> group by x.`timestamp`, x.`user`
> order by x.`timestamp` asc
>
> I’m of course starting with BIGINT unix timestamps, so you’ll have to
> convert using unix_timestamp().
>
> Chris Matta  cma...@mapr.com
> 215-701-3146
>
> On Wed, Jul 15, 2015 at 4:33 PM, Stefán Baxter <
> ste...@activitystream.com>
> wrote:
>
> Hi,
> >
> > This is used to group on time periods (minutes, hour of day,
> > four-hour-groups-per-day etc).
> >
> > Ceiling to nearest 15 minutes interval (PT15M) then Looking at time
> without
> > mills:
> >
> > 2015-07-15T00:07:00 becomes 2015-07-15T00:15:00
> > 2015-07-15T00:16:00 becomes 2015-07-15T00:30:00
> > 2015-07-15T01:59:00 becomes 2015-07-15T02:00:00
> >
> > A common SQL statement might look like this:
> > "select dateadd(minute, datediff(minute,0, the_timestamp) / 15 * 15, 0)
> > from ..."
> >
> > A UDF might look something like this: DATE_PERIOD(the_timestamp,
> > the_period) ->  DATE_PERIOD(timestamp '2015-07-15T01:59:00', 'PT15M') ->
> > 2015-07-15T02:00:00
> > - (I have really not given this much thought and there must be people
> here
> > better suited to suggest interface for this than I am :) )
> >
> > This way it's easy to break results down by what ever 8601 time (PT)
> > period.
> >
> > Regards,
> >  - Stefan
> >
> >
> > On Wed, Jul 15, 2015 at 7:57 PM, Mehant Baid < baid.meh...@gmail.com>
> > wrote:
> >
> > > Hey Stefan,
> > >
> > > Could you clarify with an example what is the input and expected output
> > > for the UDF you are looking for.
> > >
> > > Thanks
> > > Mehant
> > >
> > >
> > > On 7/15/15 11:59 AM, Stefán Baxter wrote:
> > >
> > >> Hi,
> > >>
> > >> I don't seem to find a handy way to round timestamps to nearest period
> > >> interval (PT5M / PT15M) and DATE_DIFF seems to be missing for simple
> > >> calculation of it.
> > >>
> > >> It seems like a too common use case for me to write a UDF for it but
> if
> > >> it's missing then we will happily contribute a simple implementation.
> > >>
> > >> How is this generally being solved by Drill users?
> > >>
> > >> Regards,
> > >>   -Stefan
> > >>
> > >>
> > >
> >
> ​
>

Reply via email to