【发布时间】:2018-03-13 04:42:48
【问题描述】:
我是 Flink 流媒体的初学者。我正在查看以每秒大约 5000 个传入的速度处理事件,并且需要查找过去 3 天的事件窗口。我的问题是:Flink 在哪里存储它的 Window 数据?我会受到 RAM 大小的限制吗?在每秒 5000 个和每个事件 2000 个字节的情况下,我正在研究一个三天窗口的非常大的存储需求。
【问题讨论】:
标签: apache-flink flink-streaming flink-cep
我是 Flink 流媒体的初学者。我正在查看以每秒大约 5000 个传入的速度处理事件,并且需要查找过去 3 天的事件窗口。我的问题是:Flink 在哪里存储它的 Window 数据?我会受到 RAM 大小的限制吗?在每秒 5000 个和每个事件 2000 个字节的情况下,我正在研究一个三天窗口的非常大的存储需求。
【问题讨论】:
标签: apache-flink flink-streaming flink-cep
Flink 提供了很多关于存储临时“3 天窗口数据”(通常称为“窗口状态”)的选项。默认情况下,它存储在内存中(受 JobManager 内存限制),但正如您提到的,它可以根据窗口的大小快速增长。因此,Flink 支持保存 将状态复制(快照)到磁盘,这个过程称为检查点。为此,您应该配置一个状态后端,例如岩石数据库。
更多信息:
[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
【讨论】: