有没有办法设置/获取全局 Hadoop 配置对象,比如下面的伪代码?当然,我可以使用静态方法创建自己的类,这些方法可以满足我的需要,但如果可以在 Hadoop Java API 中找到类似的东西,这样不会使依赖关系变得更复杂,那就更好了。到目前为止,我没有发现任何可用的东西。有什么建议吗?
在某些应用程序级别的配置器中。
Configuration conf = new Configuration();
conf.set(...);
<something>.SetGlobalConfig(conf);
在较低层的客户端代码中。
Configuration conf = <something>.GetGlobalConfig();
// ... something that needs configuration.
更新 1:我知道 Hadoop .xml 配置文件,实际上它是一种可能的解决方案,但最好在代码中完成所有配置,而不需要外部文件。
更新 2:根据提供的决定是使用与作业代码一起打包的“常规”.xml 配置。由于使用相同的工具,客户端可以通过命令行参数“调整”一些参数,这些参数保持类似于 hadoop 的语义。为了将其余代码与 Hadoop 配置/用户方面隔离开来,更多的应用程序代码通过特殊的配置器单调请求配置。
尽管我不介意反对有用的想法,但原始问题被认为已解决。