java - MR 实现在 Hadoop 集群中不起作用

标签 java algorithm hadoop mapreduce

决策树在 Eclipse Juno 中运行良好。

但是当我尝试在我的集群中运行它时,它显示错误。

文件夹 "n " 在我的本地磁盘 /user/sree 中创建

当我尝试 hadoop fs -ls/user/sree/n

n 中没有任何内容,也没有在我的 /user/sree/n 中创建“中间”文件 为什么会这样?它在 Eclipse 中完美运行。

任何建议。

**更新**

我更新了我的代码

1.代替

BufferedWriter bw = new BufferedWriter(new FileWriter(new File("n/intermediate"+id.current_index+".txt"), true));

Reduce.java中改为

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fs.create(new Path("n/intermediate"+id.current_index+".txt"), true)));

2.代替

fstream = new FileInputStream("n/intermediate"+id.current_index+".txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));

GainRatio.java中改为

BufferedReader br = new BufferedReader(new InputStreamReader(fs.open(new Path("n/intermediate"+id.current_index+".txt"))));

正在执行,但还没有完全执行。

我无法完成最终结果。 我做错了什么吗?

最佳答案

因为

 BufferedWriter bw = new BufferedWriter(new FileWriter(new File("C45/intermediate"+id.current_index+".txt"), true));
                            bw.write(text);

写入本地磁盘而不是 HDFS。因此,您必须在本地文件系统中查找它。

关于java - MR 实现在 Hadoop 集群中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20402316/

相关文章:

java - 如何动态更新信任库?

java - 如何将日志记录添加到被 Proguard 剥离的 Android Java 应用程序?

c++ - 从简历垫中删除行或列的最佳方法是什么

algorithm - 给定程序的递归关系

hadoop - 如何在Hadoop中的某些工作中描述一份工作

java - 如何让 jButton.setVisible() 立即工作?

java - 无法将 YouTube 集成到 Fragment

algorithm - 在完全二部图中找到第二个最大加权匹配

hadoop - 如何在hadoop上处理大量图像

用于上传/下载的 Hadoop Rest API