Почему «широковещательное состояние» может хранить динамические правила, а оператор broadcast () - нет? - PullRequest
0 голосов
/ 28 мая 2018

Я запутался из-за разницы между «широковещательным состоянием» и оператором broadcast (), и, наконец, я получил помощь от эксперта Flink в следующем потоке.

Что означает, что «широковещательное состояние» разблокирует реализацию функции «динамических шаблонов» для библиотеки CEP Флинка?

В конце концов, кажется, получено заключениеэто «широковещательное состояние» может хранить динамические правила в потоке с ключами с помощью RichCoFlatMap, однако оператор broadcast () не может, поэтому я могу знать, как «широковещательное состояние» хранит динамические правила с помощью RichCoFlatMap и почему оператор broadcast () не может хранить динамические правилаRichCoFlatMap?Могу ли я получить пример для объяснения этого?

1 Ответ

0 голосов
/ 29 мая 2018

Это совершенно две разные концепции.Более того, broadcast() является своего рода предварительным условием для BroadcastState.

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

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

Для получения дополнительной информации о BroadcastState см. этот документ.

...