Spark mapGroupsWithState триггер - PullRequest
       22

Spark mapGroupsWithState триггер

0 голосов
/ 13 февраля 2019

Я использую Spark Structured Streaming в Databricks.Мой код выглядит так:

 rawEvents
.as[EventRow]
.groupByKey(_.deviceId)
.mapGroupsWithState(GroupStateTimeout.ProcessingTimeTimeout)(updateAcrossEvents)
.writeStream
.queryName("events_per_window")
.format("memory")
.outputMode("update")
.start()

rawEvents - это набор данных Spark Structured Streaming.Код работает как положено, за исключением того, что он генерирует выходные строки примерно каждые 20 секунд (rawEvents получает несколько событий в секунду).Можно ли как-то принудительно возвращать строки?Я хотел бы иметь по крайней мере 1 строку в секунду.

Я пытался добавить водяной знак

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

триггер

.trigger(Trigger.ProcessingTime(1, java.util.concurrent.TimeUnit.SECONDS))

и изменить GroupStateTimeoutNoTimeout.Но результаты всегда одинаковы.

Я не сказал вам точно, что я пытаюсь сделать, потому что я не думаю, что это актуально.Если это так, вы можете посмотреть пример на этой странице, он очень похож: https://databricks.com/blog/2017/10/17/arbitrary-stateful-processing-in-apache-sparks-structured-streaming.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...