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 Unterschiede zwischen den Dienstprogrammen und früheren AMI-Versionen von Amazon EMR
S3DistCp Versionen, die in Amazon EMR unterstützt werden
Die folgenden S3DistCp Versionen werden in Amazon EMR-AMI-Versionen unterstützt. S3DistCpVersionen 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 | Datum der Veröffentlichung |
|---|---|---|
| 1.0.8 | Fügt die Optionen --appendToLastFile, --requirePreviousManifest und --storageClass hinzu. |
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 ausgeführt S3DistCp 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 |
Fügt einem Cluster einen S3DistCp Kopierschritt hinzu
Um einen S3DistCp Kopierschritt zu einem laufenden Cluster hinzuzufügen, geben Sie den folgenden Befehl ein, j-3GYXXXXXX9IOK ersetzen Sie ihn durch Ihre Cluster-ID und amzn-s3-demo-bucket ersetzen Sie ihn durch Ihren Amazon S3-Bucket-Namen.
Anmerkung
Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).
aws emr add-steps --cluster-idj-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://amzn-s3-demo-bucket/logs/j-3GYXXXXXX9IOJ/node/",\ "--dest,hdfs:///output",\ "--srcPattern,.*[a-zA-Z,]+"]
Beispiel Laden Sie CloudFront Amazon-Protokolle in HDFS
In diesem Beispiel werden CloudFront Amazon-Protokolle in HDFS geladen, indem einem laufenden Cluster ein Schritt hinzugefügt wird. 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 bei der Verarbeitung weniger großer LZO-compressed Dateien als bei der Verarbeitung vieler kleiner Dateien. Gzip-compressed Um LZO-Dateien aufzuteilen, müssen Sie sie indizieren und die Hadoop-lzo-Drittanbieterbibliothek verwenden.
Um CloudFront Amazon-Protokolle in HDFS zu laden, geben Sie den folgenden Befehl ein, j-3GYXXXXXX9IOK ersetzen Sie ihn durch Ihre Cluster-ID und amzn-s3-demo-bucket ersetzen Sie ihn durch Ihren Amazon S3-Bucket-Namen.
Anmerkung
Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).
aws emr add-steps --cluster-idj-3GYXXXXXX9IOK\ --steps Type=CUSTOM_JAR,Name="S3DistCp step",Jar=/home/hadoop/lib/emr-s3distcp-1.0.jar,\ Args=["--src,s3://amzn-s3-demo-bucket/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://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-01.HLUS3JKx.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-01.I9CNAZrg.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.YRRwERSA.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.dshVLXFE.gz s3://amzn-s3-demo-bucket/cf/XABCD12345678.2012-02-23-02.LpLfuShd.gz
S3DistCp kopiert, verkettet und komprimiert die Dateien in die folgenden beiden Dateien, wobei der Dateiname durch die Übereinstimmung im regulären Ausdruck bestimmt wird.
hdfs:///local/2012-02-23-01.lzo hdfs:///local/2012-02-23-02.lzo