как обработать неупорядоченное событие или позднее событие в неокном конвейере в Apache Beam - PullRequest
0 голосов
/ 08 октября 2018

Мое использование конвейера больше похоже на обновление.Он начинается с Kafka, захватывает сообщения и продолжает обновлять программу обновления, и, наконец, генерирует 0 или несколько событий принятия решения из программы обновления.Это больше похоже на ParDo с отслеживанием состояния, описанное в этой статье: https://beam.apache.org/blog/2017/02/13/stateful-processing.html

kafka => [message] => stateful pardo => [решения о принятии решения]

Порядок сообщения оченьВажно, что в этом случае каждое сообщение имеет свой порядковый номер.Мы должны передать обновителю сообщение в правильном порядке.

Я хотел бы использовать механизм водяных знаков, чтобы удостовериться, что сообщения, отправляемые с состоянием ParDo, находятся в правильном порядке.Скажем, мы можем использовать 1 минуту для допуска водяного знака, так что весь конвейер будет иметь задержку в 1 минуту, но луч Apache будет обрабатывать случай не в порядке.

Я пытался закодировать это, но каждый примерApache Beam сочетает в себе управление окнами и водяной знак.На самом деле, я не вижу необходимости в создании окон в моем случае использования, это просто ParDo с сохранением состояния.

Есть идеи о том, как спроектировать конвейер на Apache Beam?

...