spring - 如何在 Hadoop 中加载外部属性文件

标签 spring hadoop configuration-files

我有一份 hadoop 工作,其中包括一些 spring beans。另外,在 spring 上下文文件中,有一个名为 app.properties 的 PropertyPlaceholderConfigurer。

这个app.properties位于jar文件中,其想法是将其从jar文件中删除,以便更改一些属性而无需重新编译。

我尝试了 -file 选项和 -jarlibs 选项,但都不起作用。

有什么想法吗?

最佳答案

我所做的是:

  • 子类化 PropertyPlaceholderConfigurer
  • 重写 loadProperties 方法
  • 如果有自定义的System.getProperty("hdfs_path")

        try {
            Path pt = new Path(hdfsLocationPath);
            FileSystem fs = FileSystem.get(new Configuration());
            BufferedReader br = new BufferedReader(new InputStreamReader(fs.open(pt)));
            props.load(br);
        } catch (Exception e) {
            LOG.error(e);
        }
    

就像一个魅力......

关于spring - 如何在 Hadoop 中加载外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922060/

相关文章:

c# - 在构建时或运行时获取解决方案路径

java - 密码验证服务

java - 正确配置 Spring 的安全性 - Java

hadoop - Spark 将本地文件从主节点分发到节点

hadoop - 有什么方法可以修复HDFS随机因子的种子

c - 读取配置文件

java - 使用 Apache Commons Configuration 2.5 从 xml 文件读取 map 的最优雅的方法是什么?

java - 发现不兼容的类型 : required: default enums in annotations

java - Spring 集成和响应式(Reactive) WebSockets

java - hadoop映射器静态初始化