2015-09-04 50 views
0

我想使用Streaming API從Hadoop中的一組文件構建倒排索引。文檔始終是指使用一個文件,該文件的行包含要映射到的映射器的條目。但在這種情況下,我有多個輸入文件,我需要映射器一次只處理一個文件。有沒有辦法做到這一點。由於預處理的原因,我需要輸入是這樣的,我不能輸入文檔引用的經典行=鍵值格式。具有多個輸入文件的Hadoop流

回答

0

默認情況下,映射器只處理一個文件,除非您使用允許CombineFileInputFormat等組合輸入的輸入類。

然後,如果你有10個文件,你將以10個映射器結束,每個文件只處理一個文件。如果您只使用映射器(不是簡化器),它將以10個輸出文件結尾(每個映射器一個)。

另一方面,如果你有足夠大的可拆分文件,一個文件可能同時被幾個mapper處理。