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】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章