Hadoop MapReduce WordCount示例缺陷?

时间:2016-02-16 05:41:53

标签: hadoop mapreduce

参考基本的WordCount示例:https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html 我知道HDFS将文件分成块,而映射任务可以在一个块上运行。因此,无法保证地图任务分析的块不会包含在下一个块中继续的单词,从而导致错误(一个单词计数两次)。我知道这是一个例子,并且总是以小文件显示,但在现实场景中不会出现问题吗?

1 个答案:

答案 0 :(得分:1)

在Hadoop中,您处理输入拆分而不是块。输入拆分是完整的数据集。您希望避免一个映射器超过两个拆分的情况,因为这会降低性能并创建流量。

在文本世界中,假设您在block1中并且您有一个句子,例如“我是一个哈”,而block2继续“doop developer”,那么这将创建网络流量,因为我们始终必须在节点上工作具有完整的输入拆分,并且一些数据必须传输到另一个节点。