大数据之Flink(10) | 状态后端

it2026-09-30  8

MemoryStateBackend 内存级的状态后端,会将键控状态作为内存中的对象进行管理,将它们存储在TaskManager的JVM堆上;而将checkpoint存储在JobManager的内存中。

env.setStateBackend(new MemoryStateBackend())

FsStateBackend 将checkpoint存到远程的持久化文件系统(FileSystem)上。而对于本地状态,跟MemoryStateBackend一样,也会存在TaskManager的JVM堆上。

env.setStateBackend(new FsStateBackend("file"))

RocksDBStateBackend 将所有状态序列化后,存入本地的RocksDB中存储。 注意:RocksDB的支持并不直接包含在flink中,需要引入依赖:

<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-statebackend-rocksdb_2.11</artifactId> <version>1.10.0</version> </dependency> env.setStateBackend(new RocksDBStateBackend("file",true))
最新回复(0)