我有一个hadoop的工作,其中包括一些springbean。另外,在spring上下文文件中,还有一个名为app.properties的propertyplaceholderconfigurer。
这个app.properties在jar文件中,我们的想法是从jar文件中删除它,以便在不重新编译的情况下更改某些属性。
我试过了 -file
选项,即 -jarlibs
但两者都不起作用。
有什么想法吗?
我有一个hadoop的工作,其中包括一些springbean。另外,在spring上下文文件中,还有一个名为app.properties的propertyplaceholderconfigurer。
这个app.properties在jar文件中,我们的想法是从jar文件中删除它,以便在不重新编译的情况下更改某些属性。
我试过了 -file
选项,即 -jarlibs
但两者都不起作用。
有什么想法吗?
2条答案
按热度按时间bvjxkvbb1#
我所做的是:
为PropertyPlaceHolderConfigure创建子类
重写loadproperties方法
如果有自定义system.getproperty(“hdfs\u path”)
很有魅力。。。
5gfr0r5j2#
可以将此属性文件添加到分布式缓存,如下所示:
稍后,在mapper/reducer的configure()中,可以执行以下操作:
ps:如果您没有在AmazonEMR上运行它,那么您可以将这个属性文件保存在hdfs中,并提供该路径。