Apache Flink:如何在流应用程序中存储intermedia数据

时间:2017-11-14 08:10:54

标签: bigdata apache-flink flink-streaming

我正在使用Flink的DataStream API实现MisraGries算法。它使k个计数器通过递增或递减来记录数据摘要。

使用DataStream API实现算法时,存储此类计数器的最佳方法是什么?现在我只是在运算符中声明了一个HashMap变量。这是正确的方法还是我需要使用其他一些功能,如州?

1 个答案:

答案 0 :(得分:2)

您应该将计数器存储在Flink的托管状态,即keyed stateoperator stateenable checkpointing。否则,如果发生故障,信息将丢失。

如果正确使用了状态并且启用了检查点,则Flink会定期检查应用程序的状态。如果发生故障,则重新启动作业并将其状态重置为最新检查点。