StreamSQL 进行窗口计算的疑问

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

StreamSQL 进行窗口计算的疑问

Roc Marshal
Hi,


如果进行滚动窗口(窗口长度为一天)取某列的聚合值,如何在SQL中指定窗口的开始滚动的时间呢?比如,希望窗口从每天的凌晨两点(作为窗口起始时间点)到第二天凌晨两点(作为窗口结束时间点)。这种语法怎么使用呢?


谢谢。


Best Roc

Reply | Threaded
Open this post in threaded view
|

Re:StreamSQL 进行窗口计算的疑问

hailongwang
Hi Roc,
  目前 SQL 不支持指定 offset,只能1天的窗口,从0点开始。
目前有一个 Issue 在跟进这个问题:
https://issues.apache.org/jira/projects/FLINK/issues/FLINK-17767?filter=allopenissues


Best,
Hailong Wang

在 2020-10-21 16:09:29,"Roc Marshal" <[hidden email]> 写道:

>Hi,
>
>
>如果进行滚动窗口(窗口长度为一天)取某列的聚合值,如何在SQL中指定窗口的开始滚动的时间呢?比如,希望窗口从每天的凌晨两点(作为窗口起始时间点)到第二天凌晨两点(作为窗口结束时间点)。这种语法怎么使用呢?
>
>
>谢谢。
>
>
>Best Roc
>
Reply | Threaded
Open this post in threaded view
|

Re:Re:StreamSQL 进行窗口计算的疑问

Roc Marshal
SELECT

TUMBLE_START(ts, INTERVAL '1' day) as window_start,

TUMBLE_END(ts, INTERVAL '1' day) as window_end,

c1,

sum(c2) as sc2

FROM target_kafka_source_converted

GROUP BY TUMBLE(ts, INTERVAL '1' day), c1

ORDER BY window_start, sc2 desc limit 10


我的这个sql,希望能够以一天为窗口进行计算窗口  按照c1分组,并对c2列求和(sc2)后对sc2进行窗口内排序。但是结果看起来,结果集中窗口内的数据列sc2并没有有序(降序/或者升序)排列。
能不能根据我的需求和sql的写法诊断一下问题出在哪里?或者说给一下建议,好让我定位到自己对flinksql使用的误区在哪?


谢谢您!


Best Roc.



















在 2020-10-21 17:21:47,"hailongwang" <[hidden email]> 写道:

>Hi Roc,
>  目前 SQL 不支持指定 offset,只能1天的窗口,从0点开始。
>目前有一个 Issue 在跟进这个问题:
>https://issues.apache.org/jira/projects/FLINK/issues/FLINK-17767?filter=allopenissues
>
>
>Best,
>Hailong Wang
>
>在 2020-10-21 16:09:29,"Roc Marshal" <[hidden email]> 写道:
>>Hi,
>>
>>
>>如果进行滚动窗口(窗口长度为一天)取某列的聚合值,如何在SQL中指定窗口的开始滚动的时间呢?比如,希望窗口从每天的凌晨两点(作为窗口起始时间点)到第二天凌晨两点(作为窗口结束时间点)。这种语法怎么使用呢?
>>
>>
>>谢谢。
>>
>>
>>Best Roc
>>
Reply | Threaded
Open this post in threaded view
|

Re: StreamSQL 进行窗口计算的疑问

Leonard Xu
Hi

看起来这个query应该是没问题的,语法也是flink支持的,能贴点结果数据吗?可以简化下query能复现就行。

祝好
Leonard