栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

flink通过类构造函数给算子传递外部参数

flink通过类构造函数给算子传递外部参数

场景: flink中的算子在初始化时想添加一些外部参数,这些外部参数只有在main启动时才会传入,可能数据的值不同

自已创建了一个类继承了RichFlatMapFunction implements Serializable,实现了RichFlatMapFunction的flatMap方法,像下面的示例一样

public class FlatFunction1 implements FlatMapFunction {
  private String a;
  private String b;
// 写了一个带参数的构造器,这样初始化这个算子时,就会在构造器中初始化一些参数,
  public FlatFunction1(Object c){
  	//用c初始化 a,b
	}
  @Override
  public void flatMap(String value, Collector out) {
    //执行逻辑
  }
}

通过带参数的构造函数,在算子初始化就可以对算子内部的字段初始化

警告:我这些参数是算子内私有的,也就是private,但是不能写成static修饰的,否则如果是像k8s托管flink集群的这种方式,每一个task虽然都初始化了,但是执行时初始化后的字段还是null

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/304363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号