Categories
程式開發

Flink中的应用部署(三):自定义窗口处理


在本系列的前几篇文章中,我们阐述了如何基于动态更新的配置(一组欺诈检测规则)实现灵活的流分区,以及如何利用 Flink 的广播机制(Broadcast)在运行时将处理配置分配给相关的 operator。

延展阅读:

《Flink 中的应用部署:当前状态与新应用模式》

《Flink 高级应用模式第二辑:应用模式的动态更新》

继上次讨论端到端的解决方案之后,本文将介绍如何使用 Flink 的“瑞士军刀”—— Process Function(流程函数)来创建一个自定义的实现,以满足你的流业务逻辑需求。我们将在 欺诈检测引擎(Fraud Detection engine)的背景下继续讨论。我们还将演示如何在 Datastream API 提供的开箱即用窗口无法满足需求的情况下,如何实现 时间窗口的自定义替换 。特别是,我们将研究在设计需要对单个事件进行的低延迟响应的解决方案时可以做出的权衡。

本文将阐述一些可以独立应用的高级概念,但我们建议你先回顾本系列的第一部第二部的内容,并检查代码库,以便更容易理解。

本文最初发表在 Apache Flink 官网,经原作者 Alexander Fedulov 授权,InfoQ 中文站翻译并分享。

ProcessFunction 作为“窗口”

原文链接:【https://www.infoq.cn/article/3Xiw36wSyK6J9G40jA9F】。未经作者许可,禁止转载。