我在用Yarn做flink(1.4.2)。我正在使用flinkYarn客户端提交作业到Yarn集群。
假设我有一个带有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.
我的问题是,这些运行在不同任务槽中的线程是否会共享为join而缓冲的数据。所有数据都在这些线程之间共享。
编辑
示例查询- 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条答案
按热度按时间1hdlvixo1#
每个
Task
将接收自己的输入数据的间断分区。用户共享什么Tasks
跑在同一条路上TaskManager
是服务和控制数据结构,如网络堆栈、网络连接、rpc端点、分布式组件之间的心跳等。