如何处理Flink中的应用程序错误


0

我现在想知道如何处理ApacheFlink streaming应用程序中的应用程序错误。一般来说,我看到两种情况:

    暂时性错误,您希望重放输入数据,第二次尝试时处理可能会成功。一个例子是对外部服务的依赖,而外部服务暂时不可用。

对于第一种情况,常见的解决方案是抛出一些异常。或者是否有更好的方法,例如一种特殊类型的异常,以便更有效地处理,例如来自Apache Storm Trident的FailedException(参见Storm Trident拓扑中的错误处理)。

对于永久性错误,我在网上找不到任何信息。例如,map()操作总是必须返回一些内容,这样就不能像在Trident中那样,悄悄地删除消息。

有哪些可用的api或最佳实践?谢谢你的帮助。

1 答案


0

自从提出这个问题以来,有了一些进展:

本讨论的背景是为什么副产品应该有帮助,关 key摘录:

侧输出(也称为多输出)是一个高要求的特性

这导致了jira:FLINK-4460,在FLINK 1.1.3和更高版本中得到了解决。

我希望这有帮助,如果更通用的解决方案是可取的,请考虑一下您的用例,并考虑为它创建一个jira。


我来回答

写文章

提问题

面试题