【发布时间】:2019-04-26 10:16:29
【问题描述】:
Flink 中有没有办法使用 keyby(key1 or key2) (ORing 键)我不是说 keyBy(0,1) 我需要将带有 key1 的元素或带有 key2 的元素转发到同一个节点。
【问题讨论】:
标签: apache-flink flink-streaming
Flink 中有没有办法使用 keyby(key1 or key2) (ORing 键)我不是说 keyBy(0,1) 我需要将带有 key1 的元素或带有 key2 的元素转发到同一个节点。
【问题讨论】:
标签: apache-flink flink-streaming
您可以做的最直接的事情是编写一个 KeySelector 函数,该函数为您想要一起处理的所有事件返回相同的键。具有相同密钥的事件将由同一节点处理,并且将共享密钥状态和计时器(如果相关)。
如果您希望事件具有不同的键但仍由同一个节点处理(我承认我很想知道为什么这是可取的),那么您需要将它们安排在同一个键中团体。这变得复杂了;有关此问题的一些讨论,请参见 this mailing list thread。
【讨论】: