前言
目前flink 开发使用的是DatastreamApi,由于业务需要设置动态参数。
这个不常用,再次记录下,便于需要时查找。
1. 编码开发
动态设置 收参代码如下:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
// 获取传入的参数
ParameterTool parameterTool = ParameterTool.fromArgs(args);
// 注册给环境变量
env.getConfig().setGlobalJobParameters(parameterTool);
// 获取注册的配置
ExecutionConfig.GlobalJobParameters parameters = env.getConfig().getGlobalJobParameters();
Map<String, String> map = parameters.toMap();
String markType = map.get("markType");
// 设置任务失败重启 允许任务失败最大次数 3次
env.setRestartStrategy(RestartStrategies.failureRateRestart(3,
// 任务失败的时间启动的间隔
Time.of(2, TimeUnit.SECONDS),
// 允许任务延迟时间 3s
Time.of(3, TimeUnit.SECONDS))
);
2.在web ui 上设置参数
参数是 --参数名 值 (中间空格隔开)