本文重點
Flink中的富函數類是一組用于處理數據流的函數接口和實現類。富函數類提供了一種更靈活和可擴展的方式來定義數據流的處理邏輯。
富函數類
富函數類是DataStream API提供的一個函數類的接口,所有的Flink函數類都有其Rich版本。富函數類一般是以抽象類的形式出現的。
例如:
RichReduceFunction是ReduceFunction的富函數版本
RichMapFunction是MapFunction的富函數版本
RichFilterFunction是FilterFunction的富函數版本
富函數類可以獲取運行環境的上下文,并擁有一些生命周期方法:
算子生命周期的初始化方法open(),是生命周期中的第一個方法,比如RichMapFunction的map()方法在調用之前就會調用open(),一般做一些資源的創建類工作,比如數據庫的連接。
算子生命周期的結束方法close(),是生命周期中的最后一個方法,一般用來做些關閉資源的任務。
生命周期方法open和close方法,對于一個并行子任務而言只會調用一次,比如RichMapFunction的map()方法在每條