当我在地图类中使用以下行时:
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 :(得分:1)
问题在于System.out.println()
,您将无法在控制台中获得结果。你需要检查你的日志。
或者更简单:使用记录器!
导入记录所需的类
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
定义记录器
private static final Log LOG = LogFactory.getLog(MyClass.class);
记录您需要的所有内容
LOG.info(fileName);
您将在控制台中执行作业期间获得结果。