2013-12-19 26 views
0

我有一個算法的hadoop實現。在第二個MR中未創建文件

我在Eclipse中這樣做: 當我在eclipse中運行時,我的算法工作正常,並創建必要的文件和輸出。

Algorithm 
     | 
     |___creates a file0.txt file. 
     | 
     |___creates a file1.txt file. 
     | 
     |___creates a file3.txt file. 
     | 
     |___creates a file4.txt file. 
     | 
     |___creates a file5.txt file. 
     | 
     |___creates a file6.txt file. 
     | 
     |___creates a file7.txt file. 

完成工作。 當我嘗試在Hadoop集羣中除了file0.txt以外的所有其他文件都未從hdfs從reducer階段創建。

是否有人經歷過這個問題。

請幫助。 Source

Output from eclipse

Output from cluster

回答

0

輸出文件由驅動程序代碼所指定,而與MR作業。請檢查您的驅動程序代碼或在這裏分享

+0

在問題中添加了鏈接 –

+1

在我認爲是265行中的驅動程序代碼的C45.java中,您正在指定輸出路徑。這對所有地圖縮小作業都是一樣的。如果你想要不同的輸出路徑,你需要使用不同的conf運行不同的作業 – abhinav

+0

我的程序在eclipse中成功執行。但它在羣集中失敗。 –

0

您的問題有點混淆。我所知道的是,你有413個字節長的文件,你正在嘗試運行7個MR作業。 那麼,你是說你有7對映射器減速器你想運行在413字節文件的類? 您再次提到my algorithm runs different MR jobs depending upon the data sets,所以我只假設一個數據集只能由一對Mapper-Reducer類使用。您是否驗證了您的數據集滿足Mapper-Reducer對的條件1,3,4,5,6,7,

所有這些Mapper-Reducer對是否使用相同的輸出文件夾...?這也可能是大問題。

請回答他們,然後可能我可以幫忙。

+0

我將提供一個鏈接到我的代碼塊 –

+0

因此,您只有一對Mapper減速器。好的,所以......你剛剛提到的所有東西現在對我來說都沒有什麼意義。你如何用一個mapper/reducer運行7個工作。你期待7個任務嗎?文件大小太小...什麼是分割大小和塊大小?我認爲目前的行爲是好的,由於文件的小尺寸。 – javadevg

+0

javadevg其實我的代碼只是在eclipse中運行。但是當我將它們導出到我的集羣並運行它們時我的程序顯示錯誤:( –

相關問題