Flink 键由操作员直接进入水槽

  • 本文关键字:操作员 Flink apache-flink
  • 更新时间 :
  • 英文 :


我有这个数据管道: 流.地图(..(.keyBy((.addSink(...( 如果我有这个,当它到达接收器时,我是否保证每个键都保证由接收器操作中的单个任务管理器操作?

我在网上看到过很多例子,他们先做 keyBy,然后做一些窗口然后减少,但从不做 keyBy 的分区,然后在水槽上粘住。

Flink 不提供任何关于"由单个任务管理器操作"的保证。一个任务管理器可以有 1...n 个插槽,而你的 Flink 集群有 1..N 个任务管理器,你无法控制操作员子任务将使用哪个插槽。

我想你要问的是每条记录是否会写出一次——如果是这样,那么是的。

附带点 - 无需keyBy()即可将记录分发给并行接收器运算符。如果map()的并行度与接收器相同,则数据将在这两者之间流水线化(无网络重新分发(。如果并行度不同,则网络上将发生随机分区。

相关内容

  • 没有找到相关文章

最新更新