2014-05-10 91 views
0

在hadoop中,我想將文件(幾乎)平分到每個映射器。該文件很大,我想使用在作業啓動時定義的特定數量的映射器。現在我已經定製了輸入拆分,但我想確保如果我將文件拆分爲兩個(或更多拆分),我不會將線條剪成一半,因爲我希望每個映射器都有完整的線條而不是破損的線條。Hadoop InputSplit適用於大型基於文本的文件

所以問題是這樣的,我怎麼能在每次創建過程中得到filesplit的近似大小,或者如果這是不可能的我怎麼能估計一個大文件的(幾乎)不想在任何映射器實例中出現任何虛線。

+1

看看這個答案大部分的疑慮,我認爲這將幫助你。 http://stackoverflow.com/a/14540272/2436237 – gasparms

回答

1

您要求的所有內容都是Map Reduce中的默認行爲。像映射器一樣處理完整的行。默認情況下,Map Reduce努力平均分配st mappers中的負載。

你可以得到更多的細節here你可以看看InputSplits段落。

也可以通過@Shaw鏈接回答here,討論如何處理跨越塊分割的線的情況。

一個想通過hadoop bible的讀數應清除出thsi方面