Managed keyedState中的ValueStateDescriptor与MapStateDescriptor
概述
調研了下,[2]中全是概念
| 使用的描述符 | 參考文獻 | 自己整理后的代碼 |
| ValueStateDescriptor | [1] | 完整例子 |
| MapStateDescriptor | [3] | 完整例子 |
[4]使用的也是ValueStateDescriptor,但是目前沒有跑通
keyby后面的使用的function中可以使用ValueStateDescriptor也可以使用MapStateDescriptor
KeyState只能在KeyedStream上使用
------------------------------------------------------------------------------------------------------------------------------------
Descriptor這個詞啥意思呢?
回顧下文件描述符就秒懂了。
扯白了就是要對state文件進行讀寫操作。
想下我們用open函數去操作txt試圖讀寫的時候,是不是就要涉及到文件描述符?(嗯,如果你常用C語言,也可以粗略把他們理解為指針,雖然指針和文件描述符并不是一個東西,但是他們是可以互相轉化的。)
所以flink中這兩個描述符(ValueStateDescriptor和MapStateDescriptor)的意思就是要對存儲flink的中間狀態的文件進行讀寫操作。
所以變量類型中出現了Descriptor
------------------------------------------------------------------------------------------------------------------------------------
keyby的作用可以參考[5][6],作用是進行邏輯分流,提高任務處理的并發度
------------------------------------------------------------------------------------------------------------------------------------
為什么要費老大勁去使用這些***Descriptor呢?
個人理解:
為了靈活地控制state文件中存儲的中間值。
?
?
Reference:
[1]「Flink」使用Managed Keyed State實現計數窗口功能
[2]秒懂Flink狀態State-深度解讀(上)『建議收藏』
[3]Flink狀態妙用
[4]Flink利用State進行統計
[5]Keyby data distribution in Apache Flink, Logical or Physical Operator?
[6]Flink中的keyby分流與window操作
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Managed keyedState中的ValueStateDescriptor与MapStateDescriptor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何转编码
- 下一篇: 双系统重装windows以后修复ubun