Может ли Flink работать с функциями выбора клавиш, чьи возвращаемые ключи меняются со временем? - PullRequest
0 голосов
/ 03 июня 2019

Идея заключалась бы в реализации KeySelector, который отображает свои входные объекты на определенный ключ разделения, но этот ключ может меняться со временем. Правила отображения могут быть сохранены, скажем, в базе данных, KeySelector будет обновлять их периодически или по запросу.

Я не уверен, что это вызовет проблемы с состоянием Флинка или механизмом разделения потока. Например, если вход Foo был первоначально сопоставлен с ключом раздела 0, но позже изменения в ключе раздела 1, и клавиша 0 больше не используется, будет мигать просто «забыть» клавишу 0 в какой-то момент?

Пример малого котлина.

1 Ответ

2 голосов
/ 03 июня 2019

Нет, я не могу представить, как это могло бы работать.Flink зависит от детерминированности KeySelectors.Если вы измените ключи, как это, то любое состояние с разделением ключей будет полностью запутано.

Однако вы можете договориться, чтобы Flink отбрасывал состояние для устаревших ключей.См. StateTtlConfig .

...