【发布时间】:2011-06-10 22:40:50
【问题描述】:
看起来这应该很简单;我的集群上有一组文件,集群默认块大小为 128MB。我有一个处理它们的流式作业,我希望流式作业创建的输出文件使用不同的块大小,特别是 16MB。我认为以下方法会起作用:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-0.20.1+152-streaming.jar -D dfs.block.size=16777216 -D mapred.job.name='日志处理器' - D mapred.reduce.tasks=5 -D mapred.output.compress=true -D mapred.output.compression.type=BLOCK -input /production/beacon/vbox*/20110609/00/access_log -output /user/me/ logprocess/20110609/00/access_log -mapper /bin/cat -outputformat org.apache.hadoop.mapred.SequenceFileOutputFormat
不,在 /user/me/logprocess/20110609/00/access_log 生成的文件都使用集群的默认块大小 128MB。我也尝试在命令中用 fs.local.block.size 替换 dfs.block.size,结果相同。任何想法如何在流式作业中控制它?
【问题讨论】: