Hi all, 我在生产环境使用Flink一段时间后,随着集群不断变大,有些问题愈发明显 1. 在文档中提到的 Chain 的概念我理解为 Source -> ,,,, -> Sink 单管道输送数据? 2. 对于 Chain 的概念是否有更多的资料可以参考,以及什么时候会破坏这个 Chain 3. 调优中,如果 Sink 的 Parallel 小于前一个 Operatior 的 Parallel 对比 相同的 Parallel 会有什么区别,如何进行 Parallel 方面的调优,是否有资料可以供观摩参照的 *来自志愿者整理的flink邮件归档
你好,
- 在文档中提到的 Chain 的概念我理解为 Source -> ,,,, -> Sink 单管道输送数据?
Chain 的 operator 合并到一个 task 中,可以避免潜在的网络传输,见 [1]
- 对于 Chain 的概念是否有更多的资料可以参考,以及什么时候会破坏这个 Chain
文档参考:[1], [2] Chain 的条件有很多种,最常见就是上下游并发要一致,有兴趣可以读一下相关代码 [3] 关于 isChainable 的部分
- 调优中,如果 Sink 的 Parallel 小于前一个 Operatior 的 Parallel 对比 相同的 Parallel 会有什么区别,如何进行 Parallel 方面的调优,是否有资料可以供观摩参照的
Parallel 不相同的情况一定不会 chain,这是一个可能的问题 Parallel 调优没有什么具体的模式,适合你的就好,可以参考 back pressure 的情况,尽量在少占用资源和少 back pressure 之间平衡
1. https://ci.apache.org/projects/flink/flink-docs-master/concepts/runtime.html#tasks-and-operator-chains 2. https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/#task-chaining-and-resource-groups 3. https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/graph/StreamingJobGraphGenerator.java*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。