只取最近10天的数据进行计算,那在状态里会记录历史所有的状态,还是只记录距当前时间10天内的状态?

在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

展开
收起
wenti 2023-02-07 14:35:01 200 分享 版权
2 条回答
写回答
取消 提交回答
  • OceanBase会记录历史所有的状态,但是您可以通过SQL语句中的时间条件来限制只取最近10天的数据进行计算。

    2023-02-08 17:38:44
    赞同 展开评论
  • 目前基本上有几种实现方式,滑动窗口,开窗,和按天累计后下游查询时再做聚合(或者继续开窗计算也行),滑动窗口有性能和时效问题,开窗有准确性问题,最好是按天累计计算,下游查询时再取近10天的进行sum——该回答整理自钉群“【③群】Apache Flink China社区”

    2023-02-07 16:44:01
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理