Formas de comprimir la salida de tu EMR clúster de Amazon - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Formas de comprimir la salida de tu EMR clúster de Amazon

Existen diferentes maneras de comprimir la salida que resulta del procesamiento de datos. Las herramientas de compresión que utilice dependen de las propiedades de los datos. La compresión puede mejorar el rendimiento al transferir grandes cantidades de datos.

Compresión de datos de salida

Esto comprime la salida del trabajo de Hadoop. Si lo está utilizando, TextOutputFormat el resultado es un archivo de texto comprimido con gzip. Si está escribiendo SequenceFiles , el resultado es un archivo comprimido SequenceFile internamente. Esto se puede habilitar definiendo el ajuste de configuración mapred.output.compress en true.

Si está ejecutando un trabajo de streaming puede habilitarlo transfiriendo estos argumentos al trabajo de streaming.

-jobconf mapred.output.compress=true

También puede utilizar una acción de arranque para comprimir automáticamente todas las salidas de trabajo. Aquí se muestra cómo hacerlo con el cliente de Ruby.

--bootstrap-actions s3://elasticmapreduce/bootstrap-actions/configure-hadoop \ --args "-s,mapred.output.compress=true"

Por último, si se escribe un JAR personalizado puede habilitar la compresión de salida con la siguiente línea al crear el trabajo.

FileOutputFormat.setCompressOutput(conf, true);

Compresión de datos intermedia

Si el trabajo reorganiza una cantidad de datos importante desde los mapeadores a los reductores, puede obtener una mejora del rendimiento habilitando la compresión intermedia. Comprima la salida de mapeado y descomprímala cuando llegue al nodo secundario. El ajuste de configuración es mapred.compress.map.output. Puede habilitarlo de manera similar a la compresión de salida.

Al escribir un archivo JAR personalizado, utilice el siguiente comando:

conf.setCompressMapOutput(true);

Uso de la biblioteca Snappy con Amazon EMR

Snappy es una biblioteca de compresión y descompresión optimizada para velocidad. Está disponible en la EMR AMIs versión 2.0 y posteriores de Amazon y se usa por defecto para la compresión intermedia. Para obtener más información sobre Snappy, consulte http://code.google.com/p/snappy/.