我有许多小输入文件,我想使用某种输入格式将它们组合起来,例如CombineFileInputFormat
启动更少的映射器任务。我知道我可以使用 Java API 来执行此操作,但我不知道在使用 Hadoop 流时是否有流 jar 库来支持此功能。
问问题
1909 次
1 回答
2
默认情况下使用 Hadoop 流TextInputFormat
,但可以使用任何其他输入格式,包括CombineFileInputFormat
. 您可以使用选项从命令行更改输入格式-inputformat
。请务必使用旧 API 并实施org.apache.hadoop.mapred.lib.CombineFileInputFormat
. 尚不支持新的 API。
$HADOOP_HOME/bin/hadoop jar \
$HADOOP_HOME/hadoop-streaming.jar \
-inputformat foo.bar.MyCombineFileInputFormat \
-Dmapred.max.split.size=524288000 \
-Dstream.map.input.ignoreKey=true \
...
于 2013-12-19T00:21:25.820 回答