2013-04-25 41 views
1

儘管我知道Hadoop通常不用於圖像處理,但作爲一個概念證明,我一直試圖使用Hadoop實現圖像處理。 在此過程中,我成功實現了Sobel邊緣檢測算法,以使用MapReduce模型並在Hadoop下運行。Hadoop只生成一個減速器輸出

我的程序應該從HDFS獲取一個文件夾作爲輸入並處理文件夾中的文件並將輸出寫入HDFS。但是,它正在考慮輸入文件夾中的單個文件並將單個文件寫入輸出。

這裏是文件https://gist.github.com/ardahal/f0046e50e04fadc28a96

+0

你想要多輸入和輸出嗎? – smttsp 2013-04-25 11:16:48

+0

是的,如果在輸入目錄中有多個輸入文件,減速器應該產生多個輸出。 – uyetch 2013-04-25 11:24:33

+0

我沒有看到您的映射器編寫任何鍵和值? – Rags 2013-04-25 14:21:41

回答

0

這將是半自動的,但聊勝於無的源代碼。 讓說,你輸入的目錄是:/user/hadoop/inpur_dir/input_i.txt

Path pth = "/user/hadoop/inpur_dir/input_" 

for(int i = 0; i < number_of_image; i++){ 
    FileInputFormat.addInputPath(job, pth.suffix(i+".txt")); 
} 

這裏是multiple output。這比我之前提出的要好