系列文章目录

Flink使用指南:Checkpoint机制,完全搞懂了,你就是大佬!

Flink使用指南: 面试必问内存管理模型,进大厂一定要知道!

Flink使用指南: Kafka流表关联HBase维度表

Flink使用指南: Watermark新版本使用

Flink使用指南: Flink SQL自定义函数

设置全局变量

Flink允许将自定义的配置传递给ExecutionConfig的环境接口,由于执行配置科在所有的用户功能中访问,因此自定义配置将在所有功能中全局可用。

Configuration conf = new Configuration();
conf.setString("mykey","myvalue");
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.getConfig().setGlobalJobParameters(conf);

请注意,您还可以将扩展ExecutionConfig.GlobalJobParameters类的自定义类作为全局作业参数传递给执行配置。该接口允许实现该Map<String, String> toMap()方法,该方法将依次显示来自 Web 前端配置的值。

算子中访问配置

全局作业参数中的对象可以在系统的许多地方访问。所有实现RichFunction接口的用户函数都可以通过运行时上下文访问。

public static final class Tokenizer extends RichFlatMapFunction<String, Tuple2<String, Integer>> {

    private String mykey;
    @Override
    public void open(Configuration parameters) throws Exception {
      super.open(parameters);
      ExecutionConfig.GlobalJobParameters globalParams = getRuntimeContext().getExecutionConfig().getGlobalJobParameters();
      Configuration globConf = (Configuration) globalParams;
      mykey = globConf.getString("mykey", null);
    }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐