

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Formas de compactar a saída do cluster do Amazon EMR
<a name="emr-plan-output-compression"></a>

Existem diferentes maneiras de compactar a saída resultante do processamento de dados. As ferramentas de compactação que você usa dependem das propriedades dos dados. A compactação pode melhorar a performance ao transferir grandes quantidades de dados.

## Compactação de dados de saída
<a name="HadoopOutputDataCompression"></a>

 Isso comprime a saída de seu trabalho do Hadoop. Se você estiver usando TextOutputFormat o resultado é um arquivo de texto compactado com gzip. Se você estiver escrevendo para SequenceFiles , o resultado SequenceFile será comprimido internamente. Para habilitar isso, defina a configuração mapred.output.compress como true. 

 Se você estiver executando um trabalho de streaming, poderá habilitar isso transmitido esses argumentos ao trabalho em questão. 

```
1. -jobconf mapred.output.compress=true
```

 Você também pode usar uma ação de bootstrap para compactar automaticamente todas as saídas do trabalho. Veja a seguir como fazer isso com o cliente Ruby. 

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

 Por fim, se você estiver escrevendo um JAR personalizado, poderá habilitar a compactação de saída com a seguinte linha ao criar seu trabalho. 

```
1. FileOutputFormat.setCompressOutput(conf, true);
```

## Compactação de dados intermediária
<a name="HadoopIntermediateDataCompression"></a>

 Se o seu trabalho embaralhar uma quantidade significativa de dados dos mapeadores para os reducers, você poderá ver uma melhoria de desempenho ao habilitar a compactação intermediária. Compacta a saída de mapa e a descompacta quando ela chega ao nó core. A definição de configuração é mapred.compress.map.output. Você pode habilitar isso da mesma forma que a compactação de saída. 

 Ao escrever um JAR personalizado, use o seguinte comando: 

```
1. conf.setCompressMapOutput(true);
```

## Usar a biblioteca Snappy com o Amazon EMR
<a name="emr-using-snappy"></a>

A Snappy é uma biblioteca de compactação e descompactação otimizada para velocidade. Ela está disponível em AMIs do Amazon EMR 2.0 e versões posteriores e é usada como o padrão para a compactação intermediária. Para obter mais informações sobre o Snappy, acesse. [http://code.google.com/p/snappy/](http://code.google.com/p/snappy/) 