Допускается бесконечное опоздание для Apache Flink Windows - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть следующий вариант использования, извините, если есть очевидное решение, но я очень плохо знаком с Flink:

События (содержащие интересующее значение) в потоке должны назначаться окну на основе времени события. В моем случае события не только приходят не по порядку и с опозданием, но и событиями версионируются. Под этим я подразумеваю, что для данного времени события могут появиться два события. В этом случае окно должно снова сработать. Время между прибытием этих событий может составлять дни (или даже недели). Я уже нашел разрешенную опцию Lateness для Windows. Является ли это возможным решением или это будет во многих окнах, которые не могут быть отброшены, поскольку еще одно событие все еще может прийти (это в основном сводится к вопросам, если окна сохраняются или хранятся в памяти).

Спасибо

1 Ответ

0 голосов
/ 06 ноября 2018

Как правило, допустимая задержка должна быть конечной, чтобы избежать сохранения неограниченного количества состояний. Но вы можете настроить Flink на использование RocksDBStateBackend, который будет перетекать состояние на диск, предоставляя столько состояния, сколько могут удерживать ваши локальные диски.

Если очень поздние события редки, вам может быть лучше приспособить их каким-то особым образом, а не обременять конвейер общего назначения накладными расходами всего этого состояния.

...