将时间范围的聚合结果存储到Flink的状态后端

时间:2016-06-20 12:55:26

标签: apache-flink

我是Apache Flink的新手(1天:)),并且在一些指南中看到了它保存状态。 by documentation, you can use:

  • memoryStateBacked

  • FsStateBackend

  • RocksDBStateBackend

但是,我无法找到一个读/写这个状态后端的示例代码。

这是否意味着它适用于Flink的内部使用,或者我也可以使用?

含义:我可以存储最后一天的聚合,重置Flink,然后再次读取缓存吗? (就像你用Redis做的那样)

1 个答案:

答案 0 :(得分:1)

Flink的状态后端用于存储运营商的当前状态。

如果您还没有看到,可以使用here作为示例和详细解释。

基本上,状态是在public void open(Configuration config)函数

中定义的

然后在flatMap函数中,您可以通过调用mystate.value()来访问该状态,也可以使用mystate.update(newvalue)

进行更新

目前,这是您可以对状态执行的操作,但有一个名为QueryableState的新功能正在进行中FLINK-3779,这使您可以在Flink外查询Flink的状态。

PS:我不知道Redis如何处理状态