Différences entre l'DistCp utilitaire S3 et les versions antérieures de l'AMI d'Amazon EMR - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Différences entre l'DistCp utilitaire S3 et les versions antérieures de l'AMI d'Amazon EMR

DistCp Versions S3 prises en charge dans Amazon EMR

Les DistCp versions S3 suivantes sont prises en charge dans les versions de l'AMI Amazon EMR. DistCpLes versions S3 postérieures à 1.0.7 se trouvent directement sur les clusters. Utilisez le fichier JAR dans /home/hadoop/lib pour bénéficier des dernières fonctions.

Version Description Date de publication
1.0.8 Ajoute les options --appendToLastFile, --requirePreviousManifest et --storageClass. 3 janvier 2014
1.0.7 Ajoute l'option --s3ServerSideEncryption. 2 mai 2013
1.0.6 Ajoute l'option --s3Endpoint. 6 août 2012
1.0.5 Améliore la capacité à spécifier la version de S3 DistCp à exécuter. 27 juin 2012
1.0.4 Améliore l'option --deleteOnSuccess. 19 juin 2012
1.0.3 Ajoute une prise en charge pour les options --numberFiles et --startingIndex. 12 juin 2012
1.0.2 Améliore l'affectation des noms lors de l'utilisation de groupes. 6 juin 2012
1.0.1 Version initiale de S3DistCp. 19 janvier 2012

Ajouter une étape de DistCp copie S3 à un cluster

Pour ajouter une étape de DistCp copie S3 à un cluster en cours d'exécution, tapez la commande suivante, remplacez j-3GYxxxxxx9iOK par votre ID de cluster et remplacez mybucket par le nom de votre compartiment Amazon S3.

Note

Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

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,]+"]
Exemple Charger CloudFront les journaux Amazon dans HDFS

Cet exemple charge les CloudFront journaux Amazon dans HDFS en ajoutant une étape à un cluster en cours d'exécution. Ce faisant, le format de compression passe de Gzip ( CloudFrontpar défaut) à LZO. Cela est utile, car les données compressées à l'aide de LZO peuvent être divisées en plusieurs mappages lorsqu'elles sont décompressées, si bien que vous n'avez pas à attendre la fin de la compression, comme vous le faites pour Gzip. Cela fournit de meilleures performances lorsque vous analysez les données à l'aide d'Amazon EMR. Cet exemple améliore également les performances en utilisant l'expression régulière spécifiée dans l'option --groupBy pour combiner tous les journaux d'une heure donnée dans un seul fichier. Les clusters Amazon EMR sont plus efficaces lors du traitement de quelques fichiers volumineux compressés LZO que lors du traitement de nombreux petits fichiers compressés au format GZIP. Pour fractionner les fichiers LZO, vous devez les indexer et utiliser la bibliothèque tierce hadoop-lzo.

Pour charger CloudFront les journaux Amazon dans HDFS, tapez la commande suivante, remplacez j-3GYxxxxxx9iOK par votre ID de cluster et remplacez mybucket par le nom de votre compartiment Amazon S3.

Note

Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

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"]

Imaginons le cas où l'exemple précédent est exécuté sur les fichiers CloudFront journaux suivants.

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

S3 DistCp copie, concatène et compresse les fichiers dans les deux fichiers suivants, le nom du fichier étant déterminé par la correspondance établie par l'expression régulière.

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