• “富函数”是 DataStream API 提供的一个函数类的接口,所有 Flink 函数类都 有其 Rich 版本
    • 可以获取运行环境的上下文,并拥有一 些生命周期方法,一般是作用于状态编程 ```java DataStream> resultStream = dataStream.map( new MyMapper() );

    // 实现自定义富函数类 public static class MyMapper extends RichMapFunction>{ @Override public Tuple2 map(SensorReading value) throws Exception { //getRuntimeContext().getState(); return new Tuple2<>(value.getId(), getRuntimeContext().getIndexOfThisSubtask()); }

    1. @Override
    2. public void open(Configuration parameters) throws Exception {
    3. // 初始化工作,一般是定义状态,或者建立数据库连接
    4. System.out.println("open");
    5. }
    6. @Override
    7. public void close() throws Exception {
    8. // 一般是关闭连接和清空状态的收尾操作
    9. System.out.println("close");
    10. }

    } ```