如何将hadoop配置类指向特定目录

9gm1akwq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(313)

重载的配置构造函数包括以下内容,它们都不涉及指定hadoop配置目录。

public Configuration() { /* compiled code */ }

    public Configuration(boolean loadDefaults) { /* compiled code */ }

    private Configuration(org.apache.hadoop.conf.Configuration other, boolean storeResource) { /* compiled code */ }

    public Configuration(org.apache.hadoop.conf.Configuration other) { /* compiled code */ }

那么,如何做到这一点呢?
该用例在运行伪分布式hadoop集群的机器上运行单元测试。
默认情况下,单元测试将尝试访问本地文件系统,而不是本地hdfs。因此,有用的方法是将配置指向一组非本地的core-*.xml文件,这些文件是为指定的$hadoop\u home/conf目录中的伪分布式模式配置的。

jdg4fx2g

jdg4fx2g1#

一个笨拙的解决方法:cConfiguration类有一个方法允许在“如下所示”之后添加资源:

addResource(InputStream in) 
      Add a configuration resource.

因此可以使用指向每个*-site.xml的fileinputstream。

相关问题