S3DistCp Utility Differences With Earlier AMI Versions of Amazon EMR - 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.

S3DistCp Utility Differences With Earlier AMI Versions of Amazon EMR

S3DistCp Versions Supported in Amazon EMR

Die folgenden S3DistCp-Versionen werden in Amazon EMR AMI-Versionen unterstützt. S3DistCp-Version nach 1.0.7 befinden sich direkt auf den Clustern. Verwenden Sie die JAR-Datei in /home/hadoop/lib, um die neuesten Funktionen zu nutzen.

Version () Description (Beschreibung) Veröffentlichungsdatum
1.0.8 Fügt das --appendToLastFile, --requirePreviousManifest, und --storageClass Optionen. 3. Januar 2014
1.0.7 Fügt die Option --s3ServerSideEncryption hinzu. 2. Mai 2013
1.0.6 Fügt die Option --s3Endpoint hinzu. 6. August 2012
1.0.5 Verbessert die Möglichkeit, anzugeben, welche Version von S3DistCp ausgeführt werden soll. 27. Juni 2012
1.0.4 Verbessert die Option --deleteOnSuccess. 19. Juni 2012
1.0.3 Bietet Support für die Optionen --numberFiles und --startingIndex. 12. Juni 2012
1.0.2 Verbessert die Dateibenennung bei der Verwendung von Gruppen. 6. Juni 2012
1.0.1 Erste Veröffentlichung von S3DistCp. 19. Januar 2012

Add an S3DistCp Copy Step to a Cluster

Um einen S3distcp-Kopierschritt zu einem laufenden Cluster hinzuzufügen, geben Sie den folgenden Befehl ein, ersetzen Sie j-3GYXXXXXX9IOK mit Ihrer Cluster-ID und ersetzen mybucket mit ihren Amazon S3 Bucket Name.

Anmerkung

Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

aws emr add-steps --cluster-id j-3GYXXXXXX9IOK \ --steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-s3distcp-1.0.jar,\ Args=["--s3Endpoint,s3-eu-west-1.amazonaws.com",\ "--src,s3://mybucket/logs/j-3GYXXXXXX9IOJ/node/",\ "--dest,hdfs:///output",\ "--srcPattern,.*[a-zA-Z,]+"]

Beispiel Laden von Amazon CloudFront-Protokollen in HDFS

In diesem Beispiel werden Amazon CloudFront-Protokolle in HDFS geladen, indem Sie einen Schritt zu einem aktuell ausgeführten Cluster hinzufügen. Während dieses Vorgangs wird das Komprimierungsformat von Gzip (CloudFront-Standard-Format) in LZO geändert. Dies ist nützlich, da die mit LZO komprimierten Daten während der Dekomprimierung in mehrere Maps aufgeteilt werden können, sodass Sie nicht wie bei Gzip warten müssen, bis die Komprimierung abgeschlossen ist. Diese Vorgehensweise bietet eine bessere Leistung, wenn Sie die Daten mit Amazon EMR analysieren. Dieses Beispiel verbessert außerdem die Leistung, indem der in der Option --groupBy angegebene reguläre Ausdruck verwendet wird, um alle Protokolle für eine bestimmte Stunde in einer einzigen Datei zu kombinieren. Amazon EMR-Cluster sind effizienter, wenn nur wenige große mit LZO komprimierte Dateien verarbeitet werden anstelle von vielen kleinen mit Gzip komprimierten Dateien. Um LZO-Dateien aufzuteilen, müssen Sie sie indizieren und die Hadoop-lzo-Drittanbieterbibliothek verwenden.

Zum Laden Amazon CloudFront bei HDFS anmelden, den folgenden Befehl eingeben, ersetzen j-3GYXXXXXX9IOK mit Ihrer Cluster-ID und ersetzen mybucket mit ihren Amazon S3 Bucket Name.

Anmerkung

Zur besseren Lesbarkeit sind Linux-Zeilenfortsetzungszeichen (\) enthalten. Sie können entweder entfernt oder in Linux-Befehlen verwendet werden. Ersetzen Sie diese Zeichen unter Windows durch ein Caret-Zeichen (^).

aws emr add-steps --cluster-id j-3GYXXXXXX9IOK \ --steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-s3distcp-1.0.jar,\ Args=["--src,s3://mybucket/cf","--dest,hdfs:///local",\ "--groupBy,.*XABCD12345678.([0-9]+-[0-9]+-[0-9]+-[0-9]+).*",\ "--targetSize,128", "--outputCodec,lzo","--deleteOnSuccess"]

Angenommen, das vorherige Beispiel wird für die folgenden CloudFront-Protokolldateien ausgeführt.

s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-01.HLUS3JKx.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-01.I9CNAZrg.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.YRRwERSA.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.dshVLXFE.gz s3://DOC-EXAMPLE-BUCKET1/cf/XABCD12345678.2012-02-23-02.LpLfuShd.gz

S3DistCp kopiert, verkettet und komprimiert die Dateien in die beiden folgenden Dateien, wobei der Dateiname durch die vom regulären Ausdruck generierte Übereinstimmung bestimmt wird.

hdfs:///local/2012-02-23-01.lzo hdfs:///local/2012-02-23-02.lzo