决策树在 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/