首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Flink中有多个工作人员的全局状态可能吗?

在Flink中有多个工作人员的全局状态可能吗?
EN

Stack Overflow用户
提问于 2018-01-31 08:48:09
回答 1查看 3.6K关注 0票数 5

在Flink文档中的任何地方,我都看到状态是映射函数和工作人员的独立状态。在独立的方法中,这似乎是强大的,但是如果Flink在集群中运行呢?Flink能否处理所有工作人员都可以添加数据并查询数据的全局状态?

摘自Flink关于以下内容的文章:

为了在此设置中实现高吞吐量和低延迟,必须尽量减少任务之间的网络通信。在Flink中,流处理的网络通信只能沿着作业操作图中的逻辑边(垂直)进行,这样就可以将流数据从上游传送到下游运营商。 但是,操作符的并行实例之间没有通信(水平)。为了避免这种网络通信,数据局部性是Flink中的一个关键原则,并强烈影响状态的存储和访问方式。

EN

回答 1

Stack Overflow用户

发布于 2018-01-31 15:50:13

我认为Flink只支持关于运算符的状态关键流上的状态,如果需要某种全局状态,就必须将数据存储并恢复到某种数据库/文件系统/共享内存中,并将数据与流混合。

无论如何,在我的经验中,有了良好的处理流水线设计和正确的数据分区,在大多数情况下,您应该能够应用分而治之的算法或MapReduce策略来存档您的需求。

如果在系统中引入某种全局状态,这种全局状态可能是一个很大的瓶颈。所以要不惜一切代价避免它。

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

https://stackoverflow.com/questions/48537986

复制
相关文章

相似问题

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