我有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的一部分