在纱线中运行眨眼



我在 Yarn 上运行 Flink(1.4.2)。我正在使用 Flink Yarn 客户端将作业提交到 Yarn Cluster。

假设我有一个有 4 个插槽的 TM,我部署了一个并行度 = 4 的 flink 作业,其中包含 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

每个Task都将接收自己的输入数据分离分区。在同一TaskManager上运行的Tasks共享的是服务和控制数据结构,如网络堆栈、网络连接、RPC 端点、分布式组件之间的检测信号等。

相关内容

  • 没有找到相关文章

最新更新