Möglichkeiten, die Ausgabe Ihres EMR Amazon-Clusters zu komprimieren - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Möglichkeiten, die Ausgabe Ihres EMR Amazon-Clusters zu komprimieren

Es gibt verschiedene Möglichkeiten, die Ausgabe zu komprimieren, die sich aus der Datenverarbeitung ergibt. Welche Komprimierungstools Sie verwenden, hängt von den Eigenschaften Ihrer Daten ab. Durch die Komprimierung kann die Leistung verbessert werden, wenn Sie große Datenmengen übertragen.

Kompression der Ausgabedaten

Dies komprimiert die Ausgabe Ihres Hadoop-Auftrags. Wenn Sie TextOutputFormat das Ergebnis verwenden, handelt es sich um eine GZIP-komprimierte Textdatei. Wenn Sie schreiben, SequenceFiles ist das Ergebnis eine SequenceFile , die intern komprimiert ist. Dies kann aktiviert werden, indem Sie die Konfigurationseinstellung "mapred.output.compress" auf "true" setzen.

Wenn Sie einen Streaming-Auftrag ausführen, können Sie dies aktivieren, indem Sie dem Streaming-Auftrag diese Argumente übergeben.

-jobconf mapred.output.compress=true

Sie können auch mit einer Bootstrap-Aktion alle Auftragsausgaben automatisch komprimieren. So können Sie dies mit dem Ruby-Client ausführen:

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

Wenn Sie eine Custom Jar schreiben, können Sie die Ausgabekompression mit folgender Zeile bei der Erstellung Ihres Auftrags aktivieren:

FileOutputFormat.setCompressOutput(conf, true);

Intermediäre Datenkompression

Wenn Ihr Auftrag eine erhebliche Menge Daten von den Mappern zu den Reducern verlagert, können Sie eine Leistungsverbesserung durch Aktivierung der intermediären Kompression feststellen. Sie komprimieren die Zuweisungsausgabe und dekomprimieren sie, wenn sie auf dem Core-Knoten eingeht. Die Konfigurationseinstellung ist "mapred.compress.map.output". Sie können sie ähnlich wie die Ausgabekompression aktivieren.

Wenn Sie eine Custom Jar schreiben, verwenden Sie den folgenden Befehl:

conf.setCompressMapOutput(true);

Die Snappy-Bibliothek mit Amazon verwenden EMR

Snappy ist eine Komprimierungs- und Dekomprimierungsbibliothek, die für höhere Geschwindigkeit optimiert ist. Es ist auf Amazon EMR AMIs Version 2.0 und höher verfügbar und wird als Standard für die Zwischenkomprimierung verwendet. Weitere Informationen zu Snappy finden Sie unter http://code.google.com/p/snappy/.