开发者社区> 问答> 正文

如果缺少一些事件,如何使用apache flink稳健地计算连接?

我有一连串的jsons通过kafka和iam尝试使用apache flink加入密钥。其中5个具有相同的键,所以我想使用全局窗口并提供触发器为5.但问题是如果只有四个jsons到达而第五个从未到来的话。如何处理这种情况。我需要处理的所有故障情况。有人请提供输入作为我刚接触流处理的输入,我想用flink探索。

展开
收起
社区小助手 2018-12-11 16:32:39 1846 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    通常,流式传输是关于连续过程,而不是一次性计算。从产生一系列结果的角度思考通常更有意义,这些结果随着更多数据的到来而得到更新,而不是单一的最终答案。

    可以使用带有自定义触发器的窗口执行此操作,该触发器在每个json到达时都会触发。它可以在第五个json到达时进行FIRE和PURGE,并且如果所有五个jsons都没有及时到达,则可以使用计时器最终清除窗口。或者,如果您不介意有时等到超时发生以查看任何结果,则当第五个json到达或超时发生时,触发器可以简单地FIRE和PURGE。

    通常,ProcessFunctions比Windows更方便实现这种逻辑。

    2019-07-17 23:19:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像