美文网首页
Flink-读取配置文件

Flink-读取配置文件

作者: Eqo | 来源:发表于2022-09-01 21:30 被阅读0次

    一 Properties 集合

    • io流读取
    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);
    

    相关文章

      网友评论

          本文标题:Flink-读取配置文件

          本文链接:https://www.haomeiwen.com/subject/xivknrtx.html