最近在观察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小时的,排除是状态失效导致的。



--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复