Hi Danny,

seems like the "Red" syntax is missing? I am guessing you were talking
about "L.window_start = R.window_start AND L.window_end = R.window_end"?
Can you use ** to indicate the red part.

Two additional questions:

> The Join action is triggered by the watermark of the stream
So sounds like the you define the default as "trigger when window close"
(i.e. watermark passes end of window)

> The join does not produce retractions of the stream, the mainly
difference with normal two-stream join
Is this a limitation for "triggered by the watermark of the stream"?


-Rui

On Tue, Sep 22, 2020 at 9:42 PM James Starr <jamesst...@gmail.com> wrote:

> Sorry, but what part is red.  Your markup appears to have been stripped.
>
> James
>
> On Tue, Sep 22, 2020 at 9:05 PM Danny Chan <yuzhao....@gmail.com> wrote:
>
> > Hi, fellows, long time no see on the mailing ~
> >
> > Here I want to have a discussion on the join syntax of our recently
> > introduced window table function ~
> >
> > For example, we can define a tumbling window function of 5 minutes size
> as:
> >
> > Tumble(table T, descriptor(T.ts), INTERVAL ‘5’ MINUTE)
> >
> > The we can select from it, and moreover, I want to support 2 window
> > function join for the streaming query recently.
> >
> > The semantics of the windowed stream join is:
> >
> > • The 2 window inputs should have the same window arguments (except for
> > the table name), e.g. for TUMBLE the size should be equal, for HOP, both
> > the side interval and size should be equal
> > • We first window the input stream then join the both window data set of
> > the same TimeWindow
> > • The Join action is triggered by the watermark of the stream
> > • The join does not produce retractions of the stream, the mainly
> > difference with normal two-stream join
> >
> > And I want to propose a join syntax as:
> >
> > Select L.f0, R.f2, L.window_start, L.window_end
> > FROM
> > Tumble(table T1, descriptor(T1.ts), INTERVAL ‘5’ MINUTE) L
> > JOIN
> > Tumble(table T2, descriptor(T2.ts), INTERVAL ‘5’ MINUTE) R
> > ON
> > L.f0 = R.f0 AND L.window_start = R.window_start AND L.window_end =
> > R.window_end
> >
> > The red syntax part is what I want to discuss, the condition seems too
> > verbose because
> > user need to declare it every time.
> >
> >
> > • Should we make it optional ?
> > • Is there better syntax to describe this window join semantics ?
> >
> >
> > Best,
> > Danny Chan
> >
>

Reply via email to