как окно сеанса объединяет несколько потоков во время события? - PullRequest
0 голосов
/ 03 августа 2020

введение окна сеанса из офиса flink

enter image description here

https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/windows.html#session - windows ... оператор окна сеанса создает новое окно для каждой поступающей записи и объединяет windows вместе, если они находятся ближе друг к другу, чем определенный зазор. Для возможности объединения оператору окна сеанса требуется триггер слияния и функция окна слияния, ...

У меня есть вопрос о слиянии окон сеанса, если: 1011 * введите описание изображения здесь

в этом случае два потока в один оператор, пользователь1 приходит раньше, чем пользователь2, и временной интервал первого окна пользователя1 с первым окном пользователя2 больше, чем GAP, окно сеанса, как объединить первое окно пользователя user1 и user2?

в каком случае во время события происходит следующее? Приведенное выше время изображения - это время события.

случай 1:

окно сеанса Первый: w1 пользователя1

окно сеанса Второй : w2 пользователя user1, w1 пользователя2

случай 2:

окно сеанса Сначала: w1 пользователя1, w1 пользователя2

окно сеанса Второе: w2 пользователя2

1 Ответ

1 голос
/ 03 августа 2020

Рисунок, который вы скопировали из документации, показывает сеанс с ключом windows, в котором управление окнами применяется независимо к потокам от разных пользователей. С сеансом windows с ключом windows для разных ключей (т. Е. Разных пользователей) никогда не будут объединены.

Другими словами, сеанс windows не будет «объединять многопоточность». Либо управление окнами не связано с ключами, и в этом случае существует один поток, либо управление окнами разделено по ключам, и в этом случае сеансы определяются независимо для каждого ключа.

Этот шаблон сохраняется во всех API Flink. Возможность независимой обработки ключевых потоков имеет решающее значение для масштабируемости.

...