Входной поток состоит из данных в формате массива объектов JSON. Каждый объект имеет одно поле/ключ с именем state, по которому нам нужно разделить входной поток, см. пример ниже.
Объект1 -> «Состояние»: «Активный»
Объект2 -> «Состояние»: «Простой»
Объект3 -> «Состояние»: «Заблокировано»
Объект4 -> «Состояние»: «Активный»
Мы должны начать обработку/поток, как только мы получим определенное состояние, продолжать получать данные, если новое состояние похоже на предыдущее состояние, пусть предыдущий поток обработает его, иначе запустите новый поток для нового состояния. Также требуется, чтобы каждый поток выполнялся в течение конечного времени, и все потоки должны выполняться параллельно.
Пожалуйста, предложите, как я могу сделать это в Apache Flink. Псевдокоды и ссылки были бы полезны.