2012-06-10 31 views
0

有沒有辦法將整個文件發送給映射器而不被拆分?Hadoop不可拆分TextInputFormat

我已閱讀this但我想知道是否有另一種方式做同樣的事情,而不必生成中間文件。理想情況下,我希望命令行上的現有選項可用於Hadoop。

我在Amazon EMR上使用Python腳本的streaming工具。

回答

1

只需設置配置屬性mapred.min.split.size的東西龐大(10G):

-D mapred.min.split.size=10737418240 

或使用的編解碼器未分裂型(Gzip已)壓縮輸入文件。使用.gz擴展名,TextInputFormat將返回false到isSplittable(FileSystem, Path)方法

+0

哦,非常棒!非常感謝! – jldupont

+0

這個屬性對於hadoop 0.20.205仍然有效嗎?我對EMR支持的「舊vs新API」仍然感到困惑。 – jldupont

+0

Yeap,streaming使用舊的API,並且該屬性在源代碼中詳細描述20.205 - 第221行 - http://svn.apache.org/viewvc/hadoop/common/tags/release-0.20.205.0/src/mapred /org/apache/hadoop/mapred/FileInputFormat.java?view=markup –