Похоже, это должно быть просто;У меня есть набор файлов в нашем кластере с размером блока кластера по умолчанию 128 МБ.У меня есть потоковое задание, которое их обрабатывает, и я хотел бы, чтобы выходные файлы, созданные потоковым заданием, использовали другой размер блока, в частности 16 МБ.Я думал, что будет работать следующее:
$ 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 = 'Log Processor' -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 / пользователь / me / logprocess / 20110609/00 / access_log -mapper / bin / cat -outputformat org.apache.hadoop.mapred.SequenceFileOutputFormat
Нет любви,Все файлы, созданные в / user / me / logprocess / 20110609/00 / access_log, используют размер блока по умолчанию для кластера 128 МБ.Я попытался заменить dfs.block.size на fs.local.block.size в команде, но с теми же результатами.Любые идеи, как управлять этим в потоковой работе?