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.
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.
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