我有一个结构化的流应用程序,并且在微批获得的数据中发生窗口聚合(基于事件时间)。假设我有一个10分钟的窗口,每5分钟刷新一次。我有窗口9-9.10AM,9.05-9.15AM的聚合。但是有一个延迟,申请现在是9.31 AM。我可以确保它开始计算最近的窗口而不试图赶上旧的聚合吗? (比如说从上午9点20分到9点半开始,赶上最近的窗口聚合)
data = data
.withWatermark("dateField", "1 minute")
.groupBy(col(column_x), functions.window(col("dateField"), "30 minutes", "10 minutes"), col(column_y))
.count();
query = data
.writeStream()
.format("parquet")
.option("path", xxxx)
.option("truncate", "false")
.outputMode("append")
.option("checkpointLocation", xxxx)
.start();
query.awaitTermination();