В чем разница между Flink join и connect? - PullRequest
0 голосов
/ 19 октября 2018

Я запутался в определениях.В документации кажется, что за join следует определение key, но connect не нужно указывать key, а результатом является connectedStream.Что мы можем сделать с этим conenctedStream и есть ли конкретный пример того, что мы используем один, а не другой?

Более того, как выглядит connected stream?

Заранее спасибо

1 Ответ

0 голосов
/ 19 октября 2018

A connect операция более общая, чем операция соединения.Connect гарантирует, что два потока (с ключом или без ключа) встречаются в одном и том же месте (в одном параллельном экземпляре в пределах CoXXXFunction).

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

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

Однако объединение потоков данных часто зависит от различных поведенческих примеров, таких как «Как долго вы хотите ждать поступления другого ключа»? "," Ищете ли вы только одну подходящую пару или более? ", Или" Есть ли поздние элементы, требующие особой обработки, если не найдено ни одной соответствующей записи или другая соответствующая запись больше не сохраняется в состоянии? ".connect() позволяет вам реализовать собственную логику соединения, если это необходимо. Обучение ремесленников данных здесь *1013* объясняет один пример подключения для присоединения.

...