flink sql 状态表嵌套窗口查询

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

flink sql 状态表嵌套窗口查询

金圣哲
各位老板好:

"select    rider_id, waybill_status as waybill_status ,count(id) as waybill_status_count,   TUMBLE_START(ctime, INTERVAL '1' DAY) as wStart from  (select   id, min(ctime)  as rowtime ,latest(status, utime) as waybill_status, latest(rider_id, utime) as rider_id from  user group by id) group by TUMBLE(ctime, INTERVAL '1' DAY),waybill_status,rider_id"

问一下 想用状态表作为子表  外面嵌套窗口 如何实现呢 因为状态表group by之后 ctime会失去时间属性  哪位老板知道
Reply | Threaded
Open this post in threaded view
|

回复: flink sql 状态表嵌套窗口查询

Yuan,Youjun
内层query不是按时间窗查询的话,这恐怕是不支持。
如果内层query是按时间窗的,比如固定窗口,那还可以用tumble_rowtime来传递rowtime属性。

-----邮件原件-----
发件人: 金圣哲 <[hidden email]>
发送时间: Friday, November 15, 2019 1:21 PM
收件人: [hidden email]
主题: flink sql 状态表嵌套窗口查询

各位老板好:

"select    rider_id, waybill_status as waybill_status ,count(id) as waybill_status_count,   TUMBLE_START(ctime, INTERVAL '1' DAY) as wStart from  (select   id, min(ctime)  as rowtime ,latest(status, utime) as waybill_status, latest(rider_id, utime) as rider_id from  user group by id) group by TUMBLE(ctime, INTERVAL '1' DAY),waybill_status,rider_id"

问一下 想用状态表作为子表  外面嵌套窗口 如何实现呢 因为状态表group by之后 ctime会失去时间属性  哪位老板知道
Reply | Threaded
Open this post in threaded view
|

Fwd: flink sql 状态表嵌套窗口查询

金圣哲
 谢谢老板回复 窗口嵌套窗口这个是可以传递的.

  主要是大多数场景状态变更,需要一张最新状态表,  基于这张表做窗口查询的需求特别多的.

如果sql内置不能完成  我们将内存表在转化成datastream 赋予时间属性之后在转换成表 进行窗口查询 理论上是可以的

这样子会很繁琐,也想了解一下开源的flink 这边有啥这方面的计划没有

> 下面是被转发的邮件:
>
> 发件人: "Yuan,Youjun" <[hidden email]>
> 主题: 回复: flink sql 状态表嵌套窗口查询
> 日期: 2019年11月15日 GMT+8 下午1:39:46
> 收件人: "[hidden email]" <[hidden email]>
> 回复-收件人: [hidden email]
>
> 内层query不是按时间窗查询的话,这恐怕是不支持。
> 如果内层query是按时间窗的,比如固定窗口,那还可以用tumble_rowtime来传递rowtime属性。
>
> -----邮件原件-----
> 发件人: 金圣哲 <[hidden email]>
> 发送时间: Friday, November 15, 2019 1:21 PM
> 收件人: [hidden email]
> 主题: flink sql 状态表嵌套窗口查询
>
> 各位老板好:
>
> "select    rider_id, waybill_status as waybill_status ,count(id) as waybill_status_count,   TUMBLE_START(ctime, INTERVAL '1' DAY) as wStart from  (select   id, min(ctime)  as rowtime ,latest(status, utime) as waybill_status, latest(rider_id, utime) as rider_id from  user group by id) group by TUMBLE(ctime, INTERVAL '1' DAY),waybill_status,rider_id"
>
> 问一下 想用状态表作为子表  外面嵌套窗口 如何实现呢 因为状态表group by之后 ctime会失去时间属性  哪位老板知道