2014-05-06 51 views
2

當我使用下面的行地圖類:Hadoop中 - 地圖,減少誤差filesplit

String fileName = ((FileSplit) context.getInputSplit()).getPath().getName(); 
System.out.println(fileName); 

我有一個空的輸出文件。此外,最後兩行控制檯是:

14/05/06 12:52:53 INFO mapred.JobClient:  Map output records=0 
14/05/06 12:52:53 INFO mapred.JobClient:  SPLIT_RAW_BYTES=2127 
+0

您的問題不包含問題。嘗試改進它。 –

+0

我的問題是,我不收回文件的名稱。 – user3607469

回答

1

的問題是與System.out.println(),你不會得到的結果在控制檯中。你需要檢查你的日誌。

或者更容易:使用記錄器!

  1. 需要登錄

    import org.apache.commons.logging.Log; 
    import org.apache.commons.logging.LogFactory; 
    
  2. 定義記錄

    private static final Log LOG = LogFactory.getLog(MyClass.class); 
    
  3. 記錄所有進口類你需要什麼

    LOG.info(fileName); 
    

您將在控制檯的作業執行過程中獲得結果。

+0

我使用System.out來查看我是否正確輸入文件的名稱...最後,我發現我的錯誤...感謝您的答案! – user3607469