Я использую 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