首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个并行性的Flink广播状态

具有多个并行性的Flink广播状态
EN

Stack Overflow用户
提问于 2019-10-21 11:39:41
回答 1查看 387关注 0票数 0

让我把它说出来,我是一个非常初学者的Flink,并试图抓住尽可能多的概念。

比方说,我有一个flink集群,其中包含10个任务管理器。我每个人都有一个flink作业在运行。作业也使用广播状态。该广播状态是通过每10分钟读取5个S3文件,进行一些处理,并创建播放的int to list of strings地图来创建的。

问题:在哪里读取文件,是否在JobManager读取和处理文件,并将处理过的内容发送给任务管理人员。

是任务管理人员负责所有的读取和处理。如果是这种情况,那么flink如何确保如果任务管理器无法从S3读取,那么所有任务管理器的广播状态都是相同的。

编辑

因此,任务管理器读取广播流并将其广播到下游任务。

例如:假设有一个卡夫卡流,有5个分区,需要广播。还有一个下游操作符,它的并行性也是5。

  1. Partition1使用者任务,从流中读取元素并将其设置为广播状态。一旦设置完毕,状态就会广播到所有下游操作员5 tasks.
  2. Partition 2使用者任务,从流中读取元素,并将其设置为广播状态。

问题:在这里,当我们从分区2元素设置广播状态时,我们是否需要确保我们没有覆盖分区1中的元素,或者flink本身来管理它。

此外,如何确保分区2消耗元素并设置广播状态时,分区1广播状态已达到分区2下游运算符任务。

EN

回答 1

Stack Overflow用户

发布于 2019-10-21 12:22:10

文件的读取发生在哪里?

TaskManager。JobManager只负责管理任务,比如调度和故障转移。

如何将处理过的内容发送给任务管理器?

您可以简单地将广播状态进程想象为向所有下游任务发送相同的消息,而不是发送到特定的任务。

如果任务管理器无法从S3读取,flink如何处理?

如果源任务无法从S3读取,我相信会重新启动(可能是完全重新启动或部分重新启动),检查点机制将确保状态的一致性。

广播状态在所有任务管理器上都是相同的。

实际上,在所有任务中,广播状态并不完全相同。原因是在网络传输过程中,不能保证以相同的顺序将事件传递给任务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58485558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档