0
有没有什么方法可以设置/获取全局Hadoop配置对象,如下面的伪代码?当然,我可以使用静态方法创建我自己的类,这些方法可以完成我所需要的功能,但如果在Hadoop Java API中可以找到类似的东西,则不会使依赖关系更加复杂。现在我没有发现任何可用的东西。有什么建议?全局Hadoop配置存储
在某些应用程序级别配置程序中。
Configuration conf = new Configuration();
conf.set(...);
<something>.SetGlobalConfig(conf);
在较低层的客户端代码。
Configuration conf = <something>.GetGlobalConfig();
// ... something that needs configuration.
更新1:我知道Hadoop的.xml配置文件,实际上它是可能的解决方案之一,但它是最好都配置在代码完成,无需外部文件。
更新2:根据提供的要点决定是否使用与工作代码一起打包的'常用'.xml配置。客户端可以通过命令行参数“调整”一些参数,这些参数由于使用了相同的工具而保持了类似于hadoop的语义。为了从Hadoop配置/用户方面中分离出其他代码,更多的应用程序代码通过特殊的COnfigurator singletone请求配置。
原来的问题被认为是解决的,虽然我不介意有用的想法。
说实话,代码中的配置是不好的风格,因为你需要重新编译你的项目以便进行配置更改。如果你坚持在代码中这样做,你必须自己写,因为Hadoop不提供这种代码中的设施。 – 2013-04-25 08:06:52
好的说法。也许我会采取这个解决方案,但让我有一些时间来找到有用的包装方案。 – 2013-04-25 08:11:31
请记住,您可以使用'-Dfoo = bar'选项在命令行中设置这些配置设置,这是另一个不会在代码中覆盖它们的原因。 – Quetzalcoatl 2013-04-25 08:31:15