hadoop配置的getconf()返回null

zc0qhyus  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(362)

我在tomcat上运行了一个springmvc应用程序,它提交mapreduce作业并分析结果。我的spring批处理tasklet能够成功地调用mr驱动程序类并运行作业。驱动程序类扩展了 Configured 和工具 Tool 而且很容易操作hdfs文件。包含驱动程序类和mr代码的maven模块作为依赖项添加到webapp模块。
为了进行分析,我在webapp模块中创建了一个新类,该类扩展了 Configured . 这个类应该读取hdfs文件并对其进行分析。但是当我尝试创建 FileSystem 对象我得到一个空指针异常。

public class ReportAnalyzer extends Configured{

    public void analyze(String path) throws Exception{
        FileSystem hdfs=FileSystem.get(getConf()); <-- NPE

        //create Path, etc.
    }
}

还有什么需要做的,以获得 FileSystem 反对?hadoop依赖项通过mapreduce模块添加到webapp中。

drkbr07n

drkbr07n1#

你要么实施 Configured(Configuration conf) 建造师

public ReportAnalyzer(Configuration conf){
    super(conf);
}

或使用 setConf() 打电话之前 analyze() .

相关问题