如果发生运行时异常,如何从Apache Flink中的函数手动重播元组?

时间:2019-02-22 14:50:27

标签: exception-handling apache-flink flink-streaming flink-cep

在风暴中,我们执行collector.fail(tuple)重播该元组。 Flink中类似的方法是什么?

1 个答案:

答案 0 :(得分:0)

只要启用了检查点,Flink就会自动处理此问题。 here描述了底层机制,但简而言之,Flink会定期快照所有集群状态,并在发生故障时将其还原。这包括倒回源并根据需要重播事件,以实现一次精确的处理语义。

更新:

有时,有必要通过一些或所有作业图将事件循环回去。 Flink的DataSet API使用iterations支持此功能,但不幸的是,迭代和流传输存在问题。最好的可用解决方案是将事件写入接收器,然后从源重新获取它们。