【发布时间】:2014-10-22 07:31:10
【问题描述】:
我有一个在 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 对象,还有什么需要做的吗?通过 mapreduce 模块将 hadoop 依赖项添加到 webapp。
【问题讨论】:
标签: java spring maven tomcat hadoop