在sql的filter 里如果加了时间条件,只取最近10天的数据进行计算,那在状态里会记录历史所有的状态,还是只记录距当前时间10天内的状态。类似这样的sql: SELECT CONCAT ( ‘::’, DATE_FORMAT (shs.t_crt_tm, ‘yyyy-MM-dd’) ) as day_str, count (*), shs.key FROM sh shs where shs.source = ‘aa’ and shs.type = ‘xx’ and create_time > date_sub (now (), 10) GROUP BY DATE_FORMAT (shs.create, ‘yyyy-MM-dd’), shs.key
只取最近10天的数据进行计算,那在状态里会记录历史所有的状态,还是只记录距当前时间10天内的状态?[阿里云实时计算 Flink版]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
OceanBase会记录历史所有的状态,但是您可以通过SQL语句中的时间条件来限制只取最近10天的数据进行计算。
目前基本上有几种实现方式,滑动窗口,开窗,和按天累计后下游查询时再做聚合(或者继续开窗计算也行),滑动窗口有性能和时效问题,开窗有准确性问题,最好是按天累计计算,下游查询时再取近10天的进行sum——该回答整理自钉群“【③群】Apache Flink China社区”