Бег Флинк в пряже - PullRequest
       24

Бег Флинк в пряже

0 голосов
/ 24 декабря 2018

Я использую Flink (1.4.2) для пряжи.Я использую Flink Yarn Client для отправки работы в Yarn Cluster.

Предположим, у меня есть TM с 4 слотами, и я развернул задание Flink с параллелизмом = 4 с 2 контейнерами - 1 JM и 1 TM.Каждый параллельный экземпляр будет развернут в одном слоте задач каждый в TM (весь конвейер заданий работает на слот).

Мои задания выполняют объединение (объединение с временным окном SQL в потоке без ключа), и они буферизуют последние 3 часа данных.В соответствии с документами Flink the separate threads running in different task slot share data sets and data structures, thus reducing the per-task overhead.

Мой вопрос заключается в том, будут ли эти потоки, работающие в другом слоте задач, совместно использовать эти данные, буферизованные для объединения.Какие все данные распределяются между этими потоками.

Редактировать

Пример запроса -

SELECT R.order_id, S.order.restaurant_id FROM awz_s3_stream1 R INNER JOIN awz_s3_stream2 S ON CAST(R.order_id AS VARCHAR) = S.order_id AND R.proctime BETWEEN S.proctime - INTERVAL '2' HOUR AND S.proctime + INTERVAL '2' HOUR GROUP BY HOP(S.proctime, INTERVAL '2' MINUTE, INTERVAL '1' HOUR), S. Заказ .restaurant_id

1 Ответ

0 голосов
/ 28 декабря 2018

Каждый Task получит собственный несвязанный раздел входных данных.Tasks, работающий на том же TaskManager, совместно использует службы и управляющие структуры данных, такие как сетевой стек, сетевые соединения, конечные точки RPC, пульс между распределенными компонентами и т. Д.

...