我编写了一个简单的查询,它应该忽略创建的数据<上次事件时间-5秒。但这个查询不起作用。所有数据都打印出来了。
我也试着使用窗口函数 window($"created", "10 seconds", "10 seconds")
,但那没用。
val inputStream = new MemoryStream[(Timestamp, String)](1, spark.sqlContext)
val df = inputStream.toDS().toDF("created", "animal")
val query = df
.withWatermark("created", "5 seconds")
.groupBy($"animal")
.count()
.writeStream
.format("console")
.outputMode(OutputMode.Complete())
.start()
1条答案
按热度按时间vmjh9lq91#
您需要按以下信息进行更多分组:
此外,根据手册:
输出模式必须是追加或更新。完整模式要求保留所有聚合数据,因此不能使用水印删除中间状态。