滑动窗口函数在spark中是如何工作的?

iqxoj9l9  于 2023-01-13  发布在  Apache
关注(0)|答案(1)|浏览(138)

我对spark中的滑动窗口功能有疑问。我将从流中接收json事件,我希望看到我在过去1小时内收到的所有消息中的最高值。
那么如果我用tumbling or sliding window function来应用这个逻辑,那么这是否意味着,我将在每一个小时后得到输出?

  1. spark是否存储了我在窗口函数中提到的时间范围内的所有事件,以获得最大/最高值?
    请帮助我理解。
dgtucam1

dgtucam11#

Spark支持三种类型的时间窗口:翻滚(固定)、滑动和会话。

  1. tumbling window不同于sliding window

  1. tumbling window是固定大小的。如果你使用tumbling window,你可以通过配置每一小时得到一次输出。但是如果你使用sliding window,你可以得到你在过去1小时(之前60分钟)收到的所有消息的topN。
  2. Spark使用state存储提供程序来处理有状态操作。
    https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#types-of-time-windows
    https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#state-store

相关问题