hi各位,我想计算每日新增用户的数量,用户的登录日志在kafka中,在当日之前登录过的用户即为老用户,目前我的做法是将用户登录信息用flink sql写到下游mysql表A中,表中存储用户id和第一次登录的ts,然后再用另外一个流join这张表判断该用户是否在今天之前是否登录过,如果未登录则计算为当日新增玩家。
现在的问题是在0点时,可能由于数据延迟或者乱序,导致前天11:55的用户数据还没有写到A表中,但是0:01的数据到了,所以这个用户会被计算为新用户,或者另外一种情况时,写入表A的流消费比较慢,导致另外一个流join到的数据不全,老用户也会被判定为今日新增用户,请问这种情况我要如何计算到准确的每日实时新增用户呢?
考虑过使用10分钟窗口+5分钟延迟的形式,但是这样延迟就变成了15分钟,延迟时间过长*来自志愿者整理的flink邮件归档
听起来 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*来自志愿者整理的FLINK邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。