我是Flink流媒体的初学者。我正在寻找处理每秒大约5000个传入的事件,并且需要查找过去3天的事件窗口。我的问题是:Flink在哪里存储其Window数据?我会受到RAM大小的限制吗?每秒5000次,每个事件2000个字节,我正在考虑三天窗口的非常大的存储要求。
答案 0 :(得分:1)
Flink提供了大量关于存储临时" 3天窗口数据" (通常称为"窗口状态")。默认情况下,它存储在内存中(受JobManager内存限制),但正如您所提到的,它可以根据窗口的大小快速增长。因此,Flink支持保存 状态到磁盘的副本(快照),称为检查点的过程。要实现此目的,您应该配置状态后端,例如RocksDB。
更多相关内容:
[1] https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/state/
[2] https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/state/checkpointing.html