结构化流媒体 - 窗口功能 - 始终选择最新窗口

时间:2018-06-02 23:10:46

标签: apache-spark spark-streaming

我有一个结构化的流应用程序,并且在微批获得的数据中发生窗口聚合(基于事件时间)。假设我有一个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();

0 个答案:

没有答案