最近在观察Flink SQL 1.10任务,发现有时候聚合计算结果不对。
-- 01 因为有update数据,取这个用户当天最新的数据 -- id是表student_class_summary 的主键 create view tmp_student_class_summary as select uid, class_date, class_duration from (select *,row_number() over(partition by id order by updated_time desc) as rn from student_class_summary) t where rn = 1;
-- 02 聚合计算出每个用户每天的总量
select student_id, class_date, sum(class_duration) as class_duration from tmp_student_class_summary group by student_id,class_date;
每天大概有几条数据计算结果不对,不知道问题出在哪。转态是24h过期,但是用户在一天内的数据产生间隔是严格小余24小时的,排除是状态失效导致的。*来自志愿者整理的FLINK邮件归档
可以参考这个[1]看下是不是回撤导致的,如果是的话可以开一个比较小的 mini-batch 看能不能解决。
[1]. http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Flink-streaming-sql-group-by-td34412.html*来自志愿者整理的FLINK邮件归档
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。