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

时间:2013-12-05 14:15:44

标签: 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"))));

正在执行,但尚未完全执行。

我无法获得最终结果。 我做错了什么。

1 个答案:

答案 0 :(得分:2)

由于

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

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