决策树在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。因此,您必须在本地文件系统中寻找它。