View a markdown version of this page

S3DistCp différences entre les utilitaires et les versions AMI précédentes 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.

S3DistCp différences entre les utilitaires et les versions AMI précédentes d'Amazon EMR

S3DistCp versions prises en charge dans Amazon EMR

Les S3DistCp versions suivantes sont prises en charge dans les versions d'Amazon EMR AMI. S3DistCples versions 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é de spécifier la version S3DistCp à 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 Publication initiale de S3DistCp. 19 janvier 2012

Ajouter une étape de S3DistCp copie à un cluster

Pour ajouter une étape de S3DistCp copie à un cluster en cours d'exécution, tapez la commande suivante, j-3GYXXXXXX9IOK remplacez-la par votre ID de cluster et remplacez-la amzn-s3-demo-bucket 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://amzn-s3-demo-bucket/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. Au cours du processus, il modifie le format de compression de Gzip (format CloudFront par défaut) en 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 LZO-compressed fichiers volumineux que lors du traitement de nombreux Gzip-compressed fichiers de petite taille. 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-la j-3GYXXXXXX9IOK par votre identifiant de cluster et remplacez-la amzn-s3-demo-bucket 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://amzn-s3-demo-bucket/cf","--dest,hdfs:///local",\ "--groupBy,.*XABCD12345678.([0-9]+-[0-9]+-[0-9]+-[0-9]+).*",\ "--targetSize,128", "--outputCodec,lzo","--deleteOnSuccess"]

Considérons que l'exemple précédent est exécuté sur les fichiers journaux CloudFront suivants.

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 copie, concatène et compresse les fichiers dans les deux fichiers suivants, dont le nom est 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