Hadoop MapReduce:在shuffle和reduce阶段处理的数据大小

时间:2013-11-05 21:37:17

标签: java hadoop mapreduce shuffle

我在包含多个AWS实例的集群上运行Hadoop MapReduce Java应用程序。我想知道是否可以知道随机播放阶段数据集的大小,即总共有多少数据被混洗。另外,是否可以知道每个reducer任务处理了多少数据?

2 个答案:

答案 0 :(得分:3)

您应该可以从JobTracker Web UI中找到此信息。

有一个名为“Reduce shuffle bytes”的计数器,详细说明了被洗牌的总字节数 - 请参阅https://issues.apache.org/jira/browse/HADOOP-4845和原始链接的票据以获取更多信息。

对于每个减速器计数,深入查看已完成的减速器任务并单独检查此计数器以执行任务

答案 1 :(得分:0)

您可以转到AWS EMR作业屏幕并选择作业,然后单击“调试”按钮。在那里,您可以查看您的syslog文件。它包含有关Map和Reduce任务的所有信息。所有计数器的值如“Reduce shuffle bytes”,“Map output records”等都被转储。您还可以在syslog中查看执行程序所需的确切时间以及Map任务失败的数量。

希望这会有所帮助。我建议你在AWS上创建作业时,设置Debug选项,这样你就可以看到这个文件,如果你还没有这样做的话。