Flink-读取配置文件

2022-09-01  本文已影响0人  Eqo

一 Properties 集合

public class PropertiesDemo {
    public static void main(String[] args) throws IOException {
        // 创建对象
        Properties properties = new Properties();
        // 有一些与IO相关的方法
        
        // load(Reader in) Reader 是 FileReader 输入字符流的父类
        // load(InputStream in) InputStream FileInputStream 字输入节流的父类
        // 将文件中的内容读取到双列集合 Properties 中
        // Properties 只能存储 键值对
        
        // 文件中的内容有要求:
        // key=value
        // key=value
        // ...
        // load只能加载这样中文件中的内容到Properties中
        // properties.load(new FileReader("day09_IO/names.txt"));
        properties.load(new FileInputStream("day09_IO/names.properties"));
        System.out.println(properties);
    }
}
         //使用类加载器对其配置文件
         InputStream resourceAsStream =   ConfigLoader.class.getClassLoader()
                                          .getResourceAsStream("config.properties");
        
     //写入prop集合
         try {
             prop.load(resourceAsStream);
         } catch (IOException e) {
             e.printStackTrace();
         }

二 Flink 自带工具类-ParameterTool

image.png
   public static ParameterTool parameterTool = null;
    static {
        try {
            // 加载属性文件,读取为字节流对象
            InputStream inputStream = ConfigLoader.class.getClassLoader().getResourceAsStream("config.properties");
            // 通过InputStream字节流创建ParameterTool实体类对象
            parameterTool = ParameterTool.fromPropertiesFile(inputStream);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

   //todo 1.设置流式执行环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        // 设置加载属性文件中数据 -> ParameterTool,为应用程序运行时全局参数,可以在flink程序任意代码中获取参数值,方便使用
        env.getConfig().setGlobalJobParameters(parameterTool);
上一篇下一篇

猜你喜欢

热点阅读