flink table sql 的状态后端
时间: 2023-07-26 20:28:57 浏览: 233
作业帮基于Flink的实时计算平台实践-Flink Forward Asia 2021.pdf
Flink Table API 和 SQL 的状态后端可以通过设置 ExecutionConfig 中的 state.backend 属性来指定,常见的状态后端有:
- MemoryStateBackend:将状态存储在 TaskManager 的堆内存中,适用于开发和调试,但不适用于生产环境。
- FsStateBackend:将状态存储在分布式文件系统中,如 HDFS、S3 等,适用于生产环境。
- RocksDBStateBackend:将状态存储在 RocksDB 中,适用于需要高性能的场景。
例如,设置 FsStateBackend:
```
ExecutionConfig config = tableEnv.getConfig().getConfiguration().get(ExecutionConfigOptions.TABLE_EXEC_CONFIG);
config.set(ExecutionConfigOptions.TABLE_EXEC_STATE_BACKEND, "filesystem");
config.set(ExecutionConfigOptions.TABLE_EXEC_STATE_BACKEND_PATH, "hdfs://localhost:9000/flink/checkpoints");
```
阅读全文