掃一掃加入大數據公衆號和技術交流羣,瞭解更多大數據技術,還有免費資料等你哦
BroadcastState簡介
Broadcast State 是 Flink 1.5 引入的新特性。在開發過程中,如果遇到需要下發/廣播配置、規則等低吞吐事件流到下游所有 task 時,就可以使用 Broadcast State 特性。下游的 task 接收這些配置、規則並保存爲 BroadcastState, 將這些配置應用到另一個數據流的計算中 。Broadcast State 區別於其他 operator state 的地方有:
- Broadcast State 類似 Map 結構,可以 put get putAll remove 等
- 必須有一條廣播流和一條非廣播流
- 符合條件的 operator 可以有多個不同名字的 BroadcastState(疑惑:普通的 operator 也可以有多個不同名字的 state 吧,只是不是 BroadcastState。這麼想也說得通了)
BroadcastState運行場景
- 動態規則:動態規則是一條事件流,要求吞吐量不能太高。例如,當一個報警規則時觸發報警信息等。我們將這個規則廣播到計算的算子的所有併發實例中。
- 數據量不大的實時流和維度join,參