Flink·凯比接线员直接进入Flume

yvt65v4c  于 2021-06-24  发布在  Flink
关注(0)|答案(1)|浏览(276)

我有这个数据管道:stream.map(…).keyby().addsink(…)如果我有这个,当它到达sink时,我是否保证每个键都由sink操作中的单个任务管理器操作?
我在网上看到过很多这样的例子,他们先做keyby,然后做一些window然后reduce,但从来没有做过keyby的分区,然后在Flume上钉钉子。

pkbketx9

pkbketx91#

flink不保证“由单个任务管理器操作”。一个任务管理器可以有1…n个插槽,而您的flink集群有1…n个任务管理器,您无法控制操作员子任务将使用哪个插槽。
我想你要问的是每一张唱片是否会被写一次——如果是的话,那么是的。
侧重点-你不需要 keyBy() 将记录分发给并行接收器操作符。如果 map() 与接收器相同,则数据将在这两者之间进行管道传输(无网络重新分配)。如果并行性不同,那么网络上将发生随机分区。

相关问题