Spring引导-替换Hadoop core-site.xml配置文件中的属性



我有Spring启动基于Spark的应用程序,以下Hadoopcore-site.xml配置文件,我想在运行时替换属性${my.access.point.name}${my.access.point.arn}

<configuration>
<property>
<name>fs.s3a.bucket.${my.access.point.name}.accesspoint.arn</name>
<value>${my.access.point.arn}</value>
</property>
</configuration>

这里我在application.properties文件中指定了这两个属性,并且还试图将其作为docker run命令的环境变量传递。

它没有做替换,最终得到Access Points usage is required but not configured for the bucket

是否有其他方法在运行时替换这些属性?

目前,这个文件core-site.xml位于src/main/resources/下。我是否可以从外部位置指定此文件作为替代解决方案?

在运行时,您可以获取或创建自定义Configuration实例。

对于Spark, hadoopConfiguration是SparkContext的一部分