Beam Flink Runner中的“捆绑”是什么

时间:2019-07-13 20:01:10

标签: apache-flink apache-beam

我正在使用Flink Runner在Beam上运行Flink管道。 Beam为Flink提供了一些配置,例如“ maxBundleSize”和“ maxBundleTimeMills”。 (请参阅here

我的问题是:什么是“捆绑包”?

我相信答案在this源代码中,但我无法解释“捆绑”的含义。

谢谢。

1 个答案:

答案 0 :(得分:1)

它是Beam执行模型的一部分,不仅限于Flink Runner see here。捆绑包是跑步者决定一起传递以优化持久性和传输的元素的集合,例如,您不必将多个元素一个接一个地编写或发送,而是将它们捆绑在一起并发送收集结束。这样可能会更有效率。捆绑包的大小取决于跑步者,并且像Flink Runner一样,您可以在某种程度上配置此逻辑。除非您有一些特别特定的需求(例如,优化性能,处理资源分配等),否则捆绑包就不需要处理了,捆绑包的存在对管道作者基本上是透明的,这是管道执行方式的一部分,而不是一个主要的顶级原语,您必须处理它以描述业务逻辑。