0

有没有办法设置/获取全局 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 配置/用户方面隔离开来,更多的应用程序代码通过特殊的配置器单调请求配置。

尽管我不介意反对有用的想法,但原始问题被认为已解决。

4

1 回答 1

1

你打电话时

Configuration conf = new Configuration();

它将查看您项目的类路径中的core-default.xmland core-site.xml

core-site.xml正是您想要将“全局”配置放入的位置。

于 2013-04-25T07:18:35.163 回答