Hi!

听起来 event time temporal join 符合你的需求。详见
https://ci.apache.org/projects/flink/flink-docs-release-1.13/zh/docs/dev/table/sql/queries/joins/#event-time-temporal-join

z <z_yu...@foxmail.com> 于2021年9月28日周二 下午8:27写道:

> hi各位,我想计算每日新增用户的数量,用户的登录日志在kafka中,在当日之前登录过的用户即为老用户,目前我的做法是将用户登录信息用flink
> sql写到下游mysql表A中,表中存储用户id和第一次登录的ts,然后再用另外一个流join这张表判断该用户是否在今天之前是否登录过,如果未登录则计算为当日新增玩家。
>
> 现在的问题是在0点时,可能由于数据延迟或者乱序,导致前天11:55的用户数据还没有写到A表中,但是0:01的数据到了,所以这个用户会被计算为新用户,或者另外一种情况时,写入表A的流消费比较慢,导致另外一个流join到的数据不全,老用户也会被判定为今日新增用户,请问这种情况我要如何计算到准确的每日实时新增用户呢?
> 考虑过使用10分钟窗口+5分钟延迟的形式,但是这样延迟就变成了15分钟,延迟时间过长

回复