(5)Broadcast State
2018-11-30 本文已影响15人
丹之
什么是广播状态模式
广播状态模式指的一种流应用程序,其中低吞吐量的事件流(例如,包含一组规则)被广播到某个 operator 的所有并发实例中,然后针对来自另一条原始数据流中的数据(例如金融或信用卡交易)进行计算。 广播状态模式的一些典型应用案例如下:
-
动态规则:例如,有一个规则:当某个交易超过100万美元时需要发一个警报。我们将这个规则广播到计算交易的算子的所有并发实例中。
-
数据丰富:例如,将用户的详细信息作业广播状态进行广播,对包含用户ID的交易数据流进行数据丰富。
为了实现这样的应用,关键组件是广播状态,我们将在下文详细描述。
什么是广播状态?
广播状态是 Apache Flink 中支持的第三种类型的 operator state。广播状态使得 Flink 用户能够以容错、一致、可扩缩容地将来自广播的低吞吐的事件流数据存储下来。来自另一条数据流的事件可以流经同一 operator 的各个并发实例,并与广播状态中的数据一起处理。
广播状态与其他 operator state 之间有三个主要区别。与其余的 operator state 相反,广播状态:
- Map 的格式
- 有一条广播的输入流
-
operator 可以有多个不同名字的广播状态
https://data-artisans.com/blog/broadcast-state-pattern-flink-considerations
https://mp.weixin.qq.com/s/ejp5FNVwc6hU1nkTJQVd0Q