理解Flink State
Posted hnrainll
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解Flink State相关的知识,希望对你有一定的参考价值。
在Flink的官网写着:Stateful Computations over Data Streams。
基于状态计算的数据流。
在流式计算中,希望做一些聚合分析等。那么就需要保存当前日志的状态,以备与后来的日志做比较。
在Flink中每个操作都会有状态的保存无论是source、sink还是operator。
按照使用使用keyby可将State分为Keyed State 和 Operator State。他们的区别主要在于Keyed State有key而Operator State没有key。
而按照State的操作是否为运行时的可分为:Raw State和Managed State。Raw State是用户自定义的使用State,虽然不太建议。用户可以在RichFunction中使用。
Flink支持不少State的保存方式:memory、fs、rocksdb。
State可以用于状态保存还可以用于容错、checkpoint等。总之功能很强大。
但是,感觉State都是Flink在维护不需要用户定义使用。
以上是关于理解Flink State的主要内容,如果未能解决你的问题,请参考以下文章
14.State-理解原理即可Flink中状态的自动管理无状态计算和有状态计算状态分类Managed State & Raw StateKeyed State&Operator Sta