mr实现在hadoop集群中不起作用

snz8szmq  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(349)

决策树在eclipsejuno中运行得非常好。
但是当我试图在集群中运行它时,它显示出错误。
文件夹 "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"))));

它正在执行,但没有完全执行。
我没法拿到决赛。我做错什么了吗。

6vl6ewon

6vl6ewon1#

因为

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

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

相关问题