大家好我有2个问题,我不知道会发生什么,我没有系统测试它:
我有一个包含4个文件的目录,其中1个文件为空。当这4个文件作为输入时,我从Hadoop Map Reduce获得了多少Map任务。
我有一个包含4个子文件夹的目录,包括3个文件(一个文件夹为空)当我的Map Reduce程序输入父文件夹时,我从Hadoop Map Reduce获得了多少个地图任务?
** 在我的所有问题中,文件都小于块大小。
答案 0 :(得分:0)
答案 1 :(得分:0)
Hadoop MR作业将根据您为作业分配的块数/输入分数产生多个映射器。 在这种情况下,假设文件大小小于块大小,则每个文件只有1个块
公式:Number of Mapper : Number of input splits
对于1:您向MR作业提供4个文件。这意味着MR作业必须读取4个块,因此它将产生4个Mappers。这4个映射器可以并行运行,也可以一次运行一个或两个,具体取决于您的群集硬件。
注意:InputSplitter不会考虑文件为空的事实。它还会为空文件生成1个映射器
For 2:您总共提供3个文件(空子文件夹不计算)。所以你的MR工作将产生3个Mapper。
希望这会对你有所帮助。