本文重点
Flink中的富函数类是一组用于处理数据流的函数接口和实现类。富函数类提供了一种更灵活和可扩展的方式来定义数据流的处理逻辑。
富函数类
富函数类是DataStream API提供的一个函数类的接口,所有的Flink函数类都有其Rich版本。富函数类一般是以抽象类的形式出现的。
例如:
RichReduceFunction是ReduceFunction的富函数版本
RichMapFunction是MapFunction的富函数版本
RichFilterFunction是FilterFunction的富函数版本
富函数类可以获取运行环境的上下文,并拥有一些生命周期方法:
算子生命周期的初始化方法open(),是生命周期中的第一个方法,比如RichMapFunction的map()方法在调用之前就会调用open(),一般做一些资源的创建类工作,比如数据库的连接。
算子生命周期的结束方法close(),是生命周期中的最后一个方法,一般用来做些关闭资源的任务。
生命周期方法open和close方法,对于一个并行子任务而言只会调用一次,比如RichMapFunction的map()方法在每条