I would like to pick up Lead/Lag Functions.
Tim can we have a discussion sometime on the implementation ideas.

Thanks

On Tue, Sep 16, 2014 at 12:54 PM, Timothy Chen <[email protected]> wrote:

> My current patch (https://reviews.apache.org/r/24778/) is adding
> window function support by only supporting unbounded preceding and
> current now window functions.
>
> I'm re-using all the existing drill aggregation functions, and added a
> new WindowPOP physical operator and Window logical operator, that
> generates code to perform the window function and outputing the
> partial aggregate result on each row processed.
>
> I've also added drill optiq physical rel for windowing
> (DrillWindowRel) that converts a Optiq Window rel into a series of
> Drill physical operators, and currently adding a sort for all the
> window partitioned by fields before each window pop.
>
> The next phase is to really support all configurable offsets
> configurations, but by adding a new window aggregate functions
> definitions and function scopes, and able to generate code
> specifically for window aggregate functions.
>
> The first phase is to start implementing these functions:
>
> lead
> rank
> lag
> percentile
>
> I have a WIP branch here:
>
> https://github.com/tnachen/incubator-drill/commit/58f708d59b7d1b34059e98d96110f33aefe7c0e9
> I've already added a function rewrite (adding a "_win")in Optiq layer
> to use window specific aggregate functions, and starting to define
> what the function will look like and some modification in the code
> gen.
>
> I haven't get the time to come back to it yet, but will be great to
> rebase on master again and start getting a new window functions and
> new function scope plugged all the way, and also change the
> WindowFramer to generate code based on the window configuration.
>
> Tim
>
>
> On Mon, Sep 15, 2014 at 9:57 AM, Jacques Nadeau <[email protected]>
> wrote:
> > Tim,  can you provide everybody an overview of what functionality your
> > current patch provides? Maybe we can break remaining requirements into
> > tasks and have everyone work on a piece to get completed soon.
> >
> > Thanks
> > Jacques
> > On Sep 14, 2014 7:06 AM, "Timothy Chen" <[email protected]> wrote:
> >
> >> Hi Matt,
> >>
> >> I'm also working on window functions (Yash is interested helping) and we
> >> should work together. I already have a first patch that provides a
> physical
> >> operator but now going to build on top of it to provide more flexible
> >> ground work for different window functions and offets configurations.
> >>
> >> Tim
> >>
> >> Sent from my iPhone
> >>
> >> > On Sep 14, 2014, at 7:53 AM, Matt Burgess <[email protected]>
> wrote:
> >> >
> >> > I'm looking at some windowing functions (starting with rank functions
> >> like row_number, rank, and dense_rank) right now, not sure if those
> count
> >> as analytic functions for this discussion or not...
> >> >
> >> > Regards,
> >> > Matt
> >> >
> >> > Sent from my iPhone
> >> >
> >> >> On Sep 14, 2014, at 2:28 AM, Ted Dunning <[email protected]>
> wrote:
> >> >>
> >> >> Uli,
> >> >>
> >> >> Which analytics functions do you mean?
> >> >>
> >> >> Does this impression of high priority mean that you are willing to
> work
> >> on
> >> >> these analytics functions?
> >> >>
> >> >> Michael is offering to implement these functions for his own
> >> edification.
> >> >> That is a great thing. Could you provide some guidance about which
> >> >> functions you think would be more useful with some examples of why
> you
> >> >> think so?
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>> On Sat, Sep 13, 2014 at 1:33 PM, Uli Bethke <[email protected]>
> >> wrote:
> >> >>>
> >> >>> My personal opinion is that analytic functions should take a much
> >> higher
> >> >>> priority. No analytics database engine can live without these. In my
> >> >>> opinion anything that you can do with ROLLUP/CUBE you can do with
> >> analytic
> >> >>> functions while the opposite is not true.
> >> >>>
> >> >>> Uli
> >> >>>
> >> >>>
> >> >>>> On 13/09/2014 18:57, Michael Johnson wrote:
> >> >>>>
> >> >>>> For an advanced databases class project, I'm looking at adding CUBE
> >> and
> >> >>>> ROLLUP operators to Drill. (I'll be working up to that by trying
> out
> >> some
> >> >>>> smaller changes first to get a better understanding of Drill's
> code.)
> >> >>>>
> >> >>>> Does this sound like a feature that you might want to incorporate
> into
> >> >>>> Drill? Any other thoughts about this idea?
> >> >>>>
> >> >>>> Michael
> >> >>>
> >>
>

Reply via email to