+1 to remove those magic words in Calcite streaming SQL, just because they're not SQL standard. The idea to replace HOP/TUMBLE with table-view-functions makes it concise, my only question is, is it(or will it be) part of SQL standard? --I'm a big fan to align with standards :lol
Ps, although the concept of `window` used here are different from window function in SQL, the syntax gives some insight. Take the example of `ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) AS row_number`, `ROW_NUMBER()` assigns a sequence value for records in subgroup with key 'COL1'. We can introduce another function, like TUMBLE() which will assign a window instance(more instances for HOP()) for the record. Mingmin On Sun, Jul 21, 2019 at 9:42 PM Manu Zhang <owenzhang1...@gmail.com> wrote: > Thanks Kenn, > great paper and left some newbie questions on the proposal. > > Manu > > On Fri, Jul 19, 2019 at 1:51 AM Kenneth Knowles <k...@apache.org> wrote: > >> Hi all, >> >> I recently had the great privilege to work with others from Beam plus >> Calcite and Flink SQL contributors to build a new and minimal proposal for >> adding streaming extensions to standard SQL: event time, watermarks, >> windowing, triggers, stream materialization. >> >> We hope this will influence the standard body and also Calcite and Flink >> and other projects working on the streaming SQL. >> >> I would like to start implementing these extensions in Beam, moving from >> our current streaming extensions to the new proposal. >> >> The whole paper is https://arxiv.org/abs/1905.12133 >> >> My small proposal to start in Beam: >> https://s.apache.org/streaming-beam-sql >> >> TL;DR: replace `GROUP BY Tumble/Hop/Session` with table functions that do >> Tumble, Hop, Session. The details of why to make this change are explained >> in the appendix to my proposal. For the big picture of how it fits in, the >> full paper is best. >> >> Kenn >> > -- ---- Mingmin