我尝试使用System.out.println()打印出值,但它们不会出现在控制台上.如何使用Hadoop打印map/reduce应用程序中的值以进行调试?
谢谢,迪帕克.
使用System.out.println和System.err.println打印出的行转到Hadoop基于每个作业写入的日志.您可以通过单击各个任务使用Web UI查看它们.
有关测试和调试Hadoop作业的大量建议,请参阅Cloudera上的这篇博文:http://www.cloudera.com/blog/2009/07/advice-on-qa-testing-your-mapreduce-jobs/
@SquareCog指向的页面是在云上运行MapReduce作业时调试MapReduce作业的非常好的信息来源.
在达到这一点之前,您应该考虑为映射器和缩减器编写单元测试,以便验证基本逻辑是否有效.如果您对测试驱动地图的单元测试感兴趣并减少逻辑检查mrunit,它的工作方式与JUnit类似.