重载的配置构造函数包括以下内容,其中没有一个涉及指定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。因此,有用的是将配置指向指定的$HADOOP_HOME/conf目录中为伪分布式模式配置的非本地核心-*..xml文件集。
发布于 2014-05-11 07:34:56
笨拙的解决办法: Cxonfiguration类有一种方法,允许在“如下”之后添加资源:
addResource(InputStream in)
Add a configuration resource.因此,可以使用指向每个*-site.xml的FileInputStream。
https://stackoverflow.com/questions/21395338
复制相似问题