Spark mapGroupsWithState触发器

时间:2019-02-13 08:40:43

标签: apache-spark streaming spark-structured-streaming databricks azure-databricks

我在Databricks中使用Spark结构化流。我的代码是这样的:

xtline income if id==X

rawEvents .as[EventRow] .groupByKey(_.deviceId) .mapGroupsWithState(GroupStateTimeout.ProcessingTimeTimeout)(updateAcrossEvents) .writeStream .queryName("events_per_window") .format("memory") .outputMode("update") .start() 是一个Spark结构化流数据集。 该代码按预期工作,除了它大约每20秒生成一次输出行(rawEvents每秒接收多个事件)。我可以以某种方式强制更频繁地返回行吗?我想每秒至少有1行。

我尝试添加水印

rawEvents

触发器

.withWatermark("datetimeColumn", "1 second")

,然后将GroupStateTimeout更改为NoTimeout。但是结果总是一样。

我没有确切告诉您我要做什么,因为我认为这无关紧要。如果是这样,您可以查看此页面上的示例,它非常相似:https://databricks.com/blog/2017/10/17/arbitrary-stateful-processing-in-apache-sparks-structured-streaming.html

0 个答案:

没有答案