美文网首页
Flink_Window Aggregate 窗口聚合

Flink_Window Aggregate 窗口聚合

作者: Eqo | 来源:发表于2022-08-23 17:29 被阅读0次

在Flink Window窗口计算中,对窗口中数据聚合计算分为2种类型:全量聚合增量聚合

全量聚合

指在窗口触发的时候才会对窗口内的所有数据进行一次计算(等窗口的数据到齐,才开始进行聚合计算,可实现对窗口内的数据进行排序等需求

  • apply
  • process
增量聚合

指窗口每进入一条数据就计算一次,窗口保存一份聚合中间数据,当触发窗口计算的时候直接返回中间值

  • reduce
  • aggregate
  • sum/max/min

区别
对窗口中数据聚合,提供2种方式:

    1. 全量聚合,使用apply算子和process算子
      当触发窗口时,一起对窗口中数据进行计算
      【对窗口中所有数据排序、获取窗口信息,比如时间窗口,获取窗口开始时间和结束时间】
      缺点:窗口数据量较大时,数据可能很多,一起处理,比较耗时
    1. 增量聚合,使用reduce算子或aggregate算子及min\max\sum算子
      窗口中来一条数据,计算一条数据,存储计算中间临时结果,当触发窗口计算时,直接返回计算中间结果值即可
      【实时性提升,性能比较好,数据一进入窗口就计算,仅仅缓存计算中间值】
      缺点:窗口数据无法排序,无法获取窗口信息

      【基于时间窗口计算时,通常情况,需要获取窗口信息,知道对哪个窗口数据聚合】

解决方案

先增量聚合,然后全局聚合,这样就能即提高性能,也能获取窗口运行的信息

  • Window 窗口数据聚合中,提供一种方式:先对窗口中数据增量聚合,触发窗口时,再对窗口数据全量聚合
    先增量,后全量
    1) 增量,窗口中来一条数据处理一条数据
    2) 全量,直接返回增量聚合结果即可,主要目的获取窗口信息(窗口开始数据和结束时间)

相关文章

  • Flink_Window Aggregate 窗口聚合

    在Flink Window窗口计算中,对窗口中数据聚合计算分为2种类型:全量聚合和增量聚合。 全量聚合 指在窗口触...

  • mongodb的聚合

    mongodb的聚合 aggregate() 方法 MongoDB中聚合的方法使用aggregate() 语法 a...

  • Window窗口增量/全量聚合方法(reduce、aggrega

    增量聚合指窗口每进入一条数据就计算一次image.png 实现方法 举例reduce aggregate 全量聚合...

  • 学习MongoDB(聚合)

    aggregate() MongoDB中聚合的方法使用aggregate()。aggregate() 方法的基本语...

  • doris表语句

    DDL 表模型 AGGREGATE KEY (聚合表) [注] AGGREGATE KEY字段必须全都一样才能聚合...

  • Django 聚合

    Django 聚合 在查询集上生成聚合(aggregate)aggregate()是QuerySet 的一个终止子...

  • MongoDB数据库高级操作

    1.聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg() 语...

  • Django基础aggregate和annotate方法使用详解

    aggregate()方法详解aggregate的中文意思是聚合, 源于SQL的聚合函数。Django的aggre...

  • 聚合 AGGREGATE

    一组相关对象的集合,我们把它作为数据修改的单元。每个聚合都有一个根(root)和一个边界(boundary...

  • DDD中的聚合根

      最近在看一本书,看到了AGGREGATE(聚合),AGGREGATE root(聚合根)。下面解释下这两个的意...

网友评论

      本文标题:Flink_Window Aggregate 窗口聚合

      本文链接:https://www.haomeiwen.com/subject/ugjogrtx.html