首先通过一个自定义表函数(table function),将每条输入的消息变成3条消息,假设输入消息的时间为ts,产出的三条消息时间分别为:(ts-1, 0), (ts+1, 1), (ts+31, 0), 然后再用30分钟的range over窗口对前面的数值部分(0或者1)求SUM
袁尤军 -----邮件原件----- 发件人: 陈帅 <casel.c...@gmail.com> 发送时间: Wednesday, December 11, 2019 9:31 PM 收件人: user-zh@flink.apache.org 主题: flink持续查询过去30分钟登录网站的人数 例如,用户在以下时间点登录:无, 12:02, 12:13, 12:15, 12:31, 12:40, 12:45, 无 那么我期望在以下时间点(实际查询可能在任意时间点)获取到的结果数为 12:01 (0), 12:03:(1), 12:14 (2), 12:16(3), 12:30 (4), 12:35 (4), 12:41 (5), 12:46 (4), 13:16 (0) 即每个元素进来就会设一个30分钟过期时间,窗口状态是当前还未过期元素集合。 用flink stream api和flink sql分别要如何实现?如果用timerService的话过多元素ttl会不会造成性能问题?