还有一个简单的方法,可以尝试parameterTool,当然类型偏简单。 final ParameterTool parameterTool = ParameterTool.fromArgs(args); parameterTool.get("paramete-key","paramete-value"); ... env.getConfig().setGlobalJobParameters(parameterTool); ... source .map(new RichMapFunction<String, Tuple2<String, Integer>>() { private ParameterTool parameterTool = null; private String paramete = "";
@Override public void open(Configuration parameters) throws Exception { parameterTool = (ParameterTool) getRuntimeContext().getExecutionConfig().getGlobalJobParameters(); paramete = parameterTool.get("paramete-key"); System.out.println("paramete = " + paramete); } @Override public Tuple2<String, Integer> map(String value) throws Exception { return new Tuple2<>(paramete, 1); } }); ... Px New <15701181132mr....@gmail.com> 于2020年6月10日周三 上午9:53写道: > 对 > 正如 -> 1048262223 所说的一样 , 目前我就是通过BroadCast 动态更细一些规则带到下游并在Process method 中 > 进行操作 | 😄 > > zjfpla...@hotmail.com <zjfpla...@hotmail.com> 于2020年6月9日周二 下午8:14写道: > > > hi, > > 请问flink如何传递全局变量,静态类好像服务器端运行不行。 > > > 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 > > > > > > > > zjfpla...@hotmail.com > > >