需要帮助理解使用hadoop处理小型数据集的mr数据吗

ttp71kqs  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(357)

需要帮助理解使用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中可用(64mb+36mb)
问题:
请帮助理解如何处理64MB和36MB数据?将仅从datanode1处理整个数据。如果datanode1发生故障,datanode2将只用于备份?
或者
datanode2是否也用于处理数据?如果这个问题需要更多的解释,请告诉我。

fumotvh3

fumotvh31#

视情况而定。如果您有一个gzip文件作为输入,那么不管它有两个块,它都将完全由单个节点上的单个Map器处理。如果您在两个datanode上运行,那么它们有足够的内存来启动2个Map器任务,并且集群是安静的(没有其他任务正在运行),那么很可能两个Map器都在同一个节点上启动。

nxowjjhe

nxowjjhe2#

是的,它将使用两个数据节点。所以Map器的数量将始终等于拆分的数量(除非您使用属性或驱动程序代码对其进行限制)。详见此图。

相关问题