Posted by
李杰 on
Jun 10, 2020; 6:07am
URL: http://apache-flink.370.s1.nabble.com/flink-tp3763p3794.html
还有一个简单的方法,可以尝试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 <
[hidden email]> 于2020年6月10日周三 上午9:53写道:
> 对
> 正如 -> 1048262223 所说的一样 , 目前我就是通过BroadCast 动态更细一些规则带到下游并在Process method 中
> 进行操作 | 😄
>
>
[hidden email] <
[hidden email]> 于2020年6月9日周二 下午8:14写道:
>
> > hi,
> > 请问flink如何传递全局变量,静态类好像服务器端运行不行。
> >
> 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置
> >
> >
> >
> >
[hidden email]
> >
>