gpt4 book ai didi

apache-flink - Flink中如何处理应用程序错误

转载 作者:行者123 更新时间:2023-12-02 11:19:27 26 4
gpt4 key购买 nike

我目前想知道如何处理 Apache Flink 流应用程序中的应用程序错误。一般来说,我看到两种情况:

  • 暂时性错误,您希望重放输入数据并且处理可能在第二次尝试时成功。一个例子是对暂时不可用的外部服务的依赖。
  • 永久性错误,重复处理仍然会失败;例如无效的输入数据。

  • 对于第一种情况,看起来常见的解决方案是抛出一些异常。或者有更好的方法,例如一种用于更有效处理的特殊异常,例如 FailedException来自 Apache Storm Trident(见 Error handling in Storm Trident topologies)。

    对于永久性错误,我在网上找不到任何信息。一个 map()例如,操作总是必须返回一些东西,所以人们不能像你一样默默地丢弃消息 would在三叉戟。

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

    最佳答案

    自从提出这个问题以来,已经有了一些进展:
    discussion持有why side outputs should help的背景,关键摘录:

    Side outputs(a.k.a Multi-outputs) is one of highly requested featuresin high fidelity stream processing use cases. With this feature, Flinkcan

    • Side output corrupted input data and avoid job fall into “fail -> restart -> fail” cycle
    • Side output sparsely received late arriving events while issuing aggressive watermarks in window computation.

    这导致了 jira: FLINK-4460这已经在 Flink 1.1.3 及以上版本中得到解决。

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

    关于apache-flink - Flink中如何处理应用程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36911879/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com