drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Khurram Faraaz <kfar...@maprtech.com>
Subject Re: Window function
Date Sat, 03 Dec 2016 18:41:33 GMT
   1. DRILL-5099 <https://issues.apache.org/jira/browse/DRILL-5099> is
   created to track this.


On Sat, Dec 3, 2016 at 5:46 PM, Khurram Faraaz <kfaraaz@maprtech.com> wrote:

> Hakim, thanks for sharing those details and the explanation.
> I will file a JIRA and anyone interested can pick it up and provide the
> fix to support OFFSET values greater than one for LAG window function.
>
> Regards,
> Khurram
>
> On Fri, Dec 2, 2016 at 10:18 PM, deneche abdelhakim <adeneche@gmail.com>
> wrote:
>
>> Hello Nitin,
>>
>> It's definitely possible to support offsets other than 1 for Lead and Lag,
>> the main reason I didn't do it is just lack of time :P
>>
>> Things that need to be done to make Lag (or Lead) support offsets other
>> than 1:
>> - WindowFunction.Lead should extract the offset value from its
>> FunctionCall
>> argument, you can look at WindowFunctionNtile.numTilesFromExpression()
>> for
>> and example on how to do that.
>> - make sure calls to copyNext() and copyPrev() in NoFrameSupportTemplate
>> use the offset and not the hard coded value (you already figured that out)
>> - finally make sure you update UnsupportedOperatorsVisitor to no longer
>> throw an exception when we pass an offset value other than 1 to Lead or
>> Lag. Just search for DRILL-3596 in that class and you will find the if
>> block that need to be removed
>>
>> I think this should be enough to get it to work in the general case, do
>> you
>> want to volunteer and get this done ? that would be an awesome
>> contribution
>> to the project.
>>
>> Thanks
>>
>> On Thu, Dec 1, 2016 at 10:10 PM Nitin Pawar <nitinpawar432@gmail.com>
>> wrote:
>>
>> > any help on this ?
>> >
>> > from  class NoFrameSupportTemplate, I see that
>> >
>> > inIndex is hard coded to point  to previous row in case of lag and
>> > next row in case of lead.
>> >
>> > Is there a way I can modify this and pass it as parameter to pic
>> > appropriate row?
>> >
>> >
>> > On Fri, Nov 25, 2016 at 2:57 PM, Nitin Pawar <nitinpawar432@gmail.com>
>> > wrote:
>> >
>> > > adding dev list for comments
>> > >
>> > > On Wed, Nov 23, 2016 at 7:04 PM, Nitin Pawar <nitinpawar432@gmail.com
>> >
>> > > wrote:
>> > >
>> > >> Hi,
>> > >>
>> > >> according to DRILL-3596
>> > >> <https://issues.apache.org/jira/browse/DRILL-3596>, lead or lag
>> > function
>> > >> are limited to use offset as 1.
>> > >>
>> > >> according to documentation on postgres
>> > >> lag(value any [, offset integer [, default any ]]) same type as value
>> > >> returns value evaluated at the row that is offset rows before the
>> > >> current row within the partition; if there is no such row, instead
>> > return
>> > >> default. Both offset and default are evaluated with respect to the
>> > >> current row. If omitted, offset defaults to 1 and default to null
>> > >>
>> > >>
>> > >> is there any plan to allow offset according to needs but not restrict
>> > >> equal to 1
>> > >>
>> > >> usecase :
>> > >>
>> > >> I have daily data for a month.
>> > >> every day I want to do a delta with last week same day like compare
>> > >> monday with monday and tuesday with tuesday so basically do a
>> lag(col,
>> > 7)
>> > >>
>> > >> --
>> > >> Nitin Pawar
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Nitin Pawar
>> > >
>> >
>> >
>> >
>> > --
>> > Nitin Pawar
>> >
>>
>
>

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