map使用filesplit减少错误

4jb9z9bj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(294)

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

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

我得到一个空的输出文件。此外,console中的最后两行是:

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
vd2z7a6w

vd2z7a6w1#

问题在于 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);

您将在控制台中获得作业执行期间的结果。

相关问题