Tengo un programa Java map-reduce en el que intento comprimir solo la salida del asignador pero no la salida del reductor. Pensé que esto sería posible estableciendo las siguientes propiedades en la instancia de Configuración como se detalla a continuación. Sin embargo, cuando ejecuto mi trabajo, la salida generada por el reductor todavía está comprimida ya que el archivo generado es: part-r-00000.gz. ¿Alguien ha comprimido con éxito los datos del asignador pero no el reductor? ¿Es eso posible?Hadoop, cómo comprimir la salida del asignador pero no la salida del reductor
// Comprimir salida asignador
conf.setBoolean("mapred.output.compress", true);
conf.set("mapred.output.compression.type", CompressionType.BLOCK.toString());
conf.setClass("mapred.output.compression.codec", GzipCodec.class, CompressionCodec.class);
En caso de que alguien esté interesado en cómo funciona esto para avro, dado que avro solo admite snappy y deflate, esta configuración es la mejor. Los nombres finales de los archivos reducidos no cambiarán, sin embargo, observará que los tamaños de los archivos cambian debido a la compresión en el nivel de bloque interno. Más detalles aquí: http://www.quora.com/Can-avro-data-files-be-lzop-compressed-in-Hadoop –
¿Está estableciendo estas configuraciones al agregar pasos a EMR? –