Apache Spark 中没有水印的滑动窗口?

问题描述

考虑到我有一个简单的聚合,定义了一个没有任何水印的窗口。

df
.groupBy(window(col("time"),"30 minutes","10 minutes").as("time"))
.aggr ....

这里我们的窗口是30 minutes,滑动间隔为10 minutes

  • Q1.这是否意味着 10 分钟后,它会下滑?
  • Q2.如果是这样,那是不是有点类似于水印?

解决方法

  1. 是的,它将每 10 分钟(滑动间隔)滑动/计算一次,提供 30 分钟的重叠窗口。您没有定义是使用事件还是摄取时间。如果使用事件时间,则处理晚处理、乱序以随着时间的推移在更新的窗口中更新包含此类数据。

  2. 继上一个问题之后,这与水印不同。水印是指经过一段时间后,迟到的数据被丢弃,因此上述效果需要时间考虑。也就是说,一些较旧的窗口将不会被更新。