2015-09-04 34 views
0

我想使用Streaming API从Hadoop中的一组文件构建倒排索引。文档始终是指使用一个文件,该文件的行包含要映射到的映射器的条目。但在这种情况下,我有多个输入文件,我需要映射器一次只处理一个文件。有没有办法做到这一点。由于预处理的原因,我需要输入是这样的,我不能输入文档引用的经典行=键值格式。具有多个输入文件的Hadoop流

回答

0

默认情况下,映射器只处理一个文件,除非您使用允许CombineFileInputFormat等组合输入的输入类。

然后,如果你有10个文件,你将以10个映射器结束,每个文件只处理一个文件。如果您只使用映射器(不是简化器),它将以10个输出文件结尾(每个映射器一个)。

另一方面,如果你有足够大的可拆分文件,一个文件可能同时被几个mapper处理。