gpt4 book ai didi

java - Hadoop 配置的 getConf() 返回 null

转载 作者:可可西里 更新时间:2023-11-01 14:53:43 25 4
gpt4 key购买 nike

我有一个在 tomcat 上运行的 Spring MVC 应用程序,它提交 MapReduce 作业并分析结果。我的 Spring Batch tasklet 能够成功调用 MR 驱动程序类并运行作业。驱动程序类扩展 Configured 并实现 Tool 并且能够轻松操作 HDFS 文件。包含驱动程序类和 MR 代码的 maven 模块作为依赖项添加到 webapp 模块。

为了分析,我在扩展 Configured 的 webapp 模块中创建了一个新类。此类应该读取 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。

最佳答案

你要么必须实现Configured(Configuration conf)构造函数

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

或者在调用analyze()之前使用setConf()

关于java - Hadoop 配置的 getConf() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26502339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com