需要帮助理解使用Hadoop的小数据集的MR数据处理

时间:2015-01-10 07:13:56

标签: hadoop mapreduce

需要帮助理解使用Hadoop的小数据集的MR数据处理。

请考虑以下假设情景:

1) Input Data to be processed : 100 MB
2) Block Size : 64 MB
3) Replication Factor : 2
4) Cluster Size : 2 (Data Node 1 and Data Node 2)

数据节点1中的数据将被拆分为64MB + 36MB(总输入数据为100MB) 复制的数据也将在数据节点2中可用(64 MB + 36 MB)

问题:

请帮助理解如何处理64 MB和36 MB数据? 是否只能从DataNode1处理整个数据。如果DataNode1出现故障,DataNode2将仅用于备份?

OR

DataNode2也会用于处理数据吗? 如果问题需要更多解释,请告诉我。

2 个答案:

答案 0 :(得分:0)

是的,它将使用两个数据节点。因此,映射器的数量将始终等于拆分的数量(除非您使用属性或驱动程序代码限制它)。有关详细信息,请参阅this

答案 1 :(得分:0)

这取决于。如果您将gzip压缩文件作为输入,那么无论它有2个块,它都将由单个节点上的单个映射器完全处理。如果您在两个数据节点上运行YARN NM,它们有足够的内存来启动2个映射器任务,并且集群很安静(没有其他任务正在运行),那么很可能两个映射器都将在同一节点上启动。