Advertisement

流计算中如何处理窗口

阅读量:

前言


不同于传统的批量处理作业模式,在实时数据流系统中其计算流程呈现出高度连续性特点。因此,在进行基于传统阶段统计工作的流式作业任务时(如求和运算、平均值计算等),必须采取将这些数据划分为独立片段的方式以确保后续操作的有效性。本文旨在探讨基于时间维度下的数据分布策略。

Window的概念


采用传统的批处理作业模式时,在系统中一次性读取所有输入数据并完成计算后即可得到结果。针对原始数据而言,则可进行各种预处理操作等其他相关操作。然而,在实时流计算引擎环境中情况就不同了;这里变得不再那么直接了。无论如何,请记住这样一个关键点:在连续不断的流数据中如何实现逻辑意义上的拆分?拆分线的位置又该如何确定?

按照主要考虑的两个维度——大小与时间——进行分析。这两个维度之间存在自由组合的可能性,在这种情况下,则能够得到以下三种类型的窗口设置方案

  • Fixed-Size Window(固定大小窗口)
  • Time Window(时间窗口)
  • Sliding/Move-to-Win/Sliding Window(滑动窗口)

固定大小窗口和滑动窗口的效果图如下图所示。

![在这里插入图片描述](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/KiaVXCrEyjTs2BA

全部评论 (0)

还没有任何评论哟~