我知道hadoop中的物理块和Inputsplits之间的区别。
顺便说一句,我正在使用Hadoop 2.0版本( yarn 处理)。
我有一个非常小的输入数据集。大小可能是1.5 Mb。当我运行使用此微小数据集的mapredce程序时,在运行期间显示有2个输入拆分。当微型数据集的大小小于128 MB时,为什么应该将其拆分为两个?
在我的理解中,块大小配置为128 MB,输入拆分是数据的逻辑划分。意思是每个拆分从哪里开始(例如在哪个节点和哪个块号)以及在何处结束。数据的开始位置和结束位置是拆分的。
我没有得到在很小的数据集中进行拆分的原因。
有人可以解释吗?
谢谢
纳斯
最佳答案
首先尝试了解如何确定分割数,这取决于两件事:
您的答案是在上述两点上,这是额外的信息,现在映射器数与拆分数之间的关系为1-1,因此拆分数将与映射器数相同。
关于hadoop - Mapreduce为什么即使对于很小的文件,拆分(文本文件)的数量也大于1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38044310/