Flink广播状态是否允许基于时间窗口实施规则?

时间:2019-02-20 04:38:17

标签: apache-kafka apache-flink

我有一个用例:假设我想制定一条规则,即在5分钟的时间间隔内从某个IP生成的所有事件都应转到某个特定主题;在“广播”状态下,我可以有几个这样的规则。

1 个答案:

答案 0 :(得分:1)

用Flink的内置窗口之一来实现这一点可能有些棘手,因为您需要在不同的功能(即广播功能和窗口功能)之间分配逻辑。

但是,您也可以单独在KeyedBroadcastProcessFunction中实现开窗逻辑。它提供了TimerService(用于注册计时器并查询当前时间)和键控状态,从而可以实现所有必需的逻辑。然后,使用广播输入来配置行为。

实际上,如果始终对每个键(即IP地址)应用规则,则您甚至可能不需要广播功能。