Parece que esto debería ser simple; Tengo un conjunto de archivos en nuestro clúster con el tamaño de bloque predeterminado de clúster de 128 MB. Tengo un trabajo de transmisión que los procesa, y me gustaría que los archivos de salida creados por el trabajo de transmisión usen un tamaño de bloque diferente, específicamente 16 MB. Pensé lo siguiente funcionaría:¿Cómo puedo configurar el tamaño de bloque de los archivos de salida producidos por un trabajo de Hadoop Streaming?
$ HADOOP_HOME/bin/hadoop frasco $ HADOOP_HOME/contrib/Streaming/Hadoop-0.20.1 + 152-D streaming.jar 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/usuario/me/logprocess/20110609/00/access_log -mapper/bin/cat -outputformat org.apache.hadoop.mapred.SequenceFileOutputFormat
Sin amor, los archivos producidos en/usuario/me/logprocess/20110609/00/access_log todos utilizan el tamaño de bloque predeterminado para el clúster de 128 MB. He intentado reemplazar dfs.block.size con fs.local.block.size en el comando también, con los mismos resultados. ¿Alguna idea de cómo controlar esto en un trabajo de transmisión?