Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flink Flink知道什么时候在没有应用程序状态的情况下重新启动了它吗?_Apache Flink_Flink Streaming - Fatal编程技术网

Apache flink Flink知道什么时候在没有应用程序状态的情况下重新启动了它吗?

Apache flink Flink知道什么时候在没有应用程序状态的情况下重新启动了它吗?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我正在使用AWS Kinesis数据分析管理版的Flink运行物联网服务。理想情况下,我尽量不重新启动应用程序,但有时会发生破坏性的代码更改,我必须使用allowNonRestoredState启动Flink应用程序,或者在最坏的情况下,我必须完全清除状态并在没有状态的情况下运行。我是否可以在Flink应用程序中检查一个参数,以确定是否已在没有任何状态的情况下重新启动应用程序 为什么要这样做 我基本上是想绕过冷启动问题,我看到在没有状态的情况下重新启动应用程序时,我注意到Flink应用程序的输出

我正在使用AWS Kinesis数据分析管理版的Flink运行物联网服务。理想情况下,我尽量不重新启动应用程序,但有时会发生破坏性的代码更改,我必须使用allowNonRestoredState启动Flink应用程序,或者在最坏的情况下,我必须完全清除状态并在没有状态的情况下运行。我是否可以在Flink应用程序中检查一个参数,以确定是否已在没有任何状态的情况下重新启动应用程序

为什么要这样做

我基本上是想绕过冷启动问题,我看到在没有状态的情况下重新启动应用程序时,我注意到Flink应用程序的输出是错误的,我认为这是因为该应用程序只能重放我的动觉流中的信息。如果我知道这些记录受到重启的影响,那么我可以在将它们发送到我的应用程序之前将它们标记为无效

编辑:

  • 已启用Checkingpointing
  • 使用RocksDB后端

能否请您澄清是否启用检查点?您可以使用中所述的界面。Follow up question@DavidAnderson,文档说明此界面用于非键控状态。是否有键控状态等价物?不,没有。不管怎样,继续实现CheckpointedFunction接口可能是可行的,但如果不行,您可以引入一个虚拟(非键控)操作符来执行此操作,以了解正在发生的事情,然后将此信息发送到下游任何需要的地方。明白了。本质上,在作业图的前面抛出一个操作符,该操作符基本上充当hasBeenRestartedWithoutState,然后执行某种特殊的逻辑来处理未恢复的情况。谢谢我将为额外的洞察做一个赞成和反对的列表,并确定它是否值得修改。