在hadoop中 - 与filesplit的Map-Reduce错误

时间:2014-05-06 10:07:38

标签: hadoop

当我在地图类中使用以下行时:

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

1 个答案:

答案 0 :(得分: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);
    
  4. 您将在控制台中执行作业期间获得结果。